Comparison of text editors
From Wikipedia, the free encyclopedia
This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.
Feature comparisons are made between stable versions of software, not the upcoming versions or beta releases – and are exclusive of any add-ons, extensions or external programs (unless specified in footnotes).
Overview
Name | Developer | Initial release | Latest release | Programming language | Cost (US$) | License | GUI | TUI or CLI | |
---|---|---|---|---|---|---|---|---|---|
Version | Date | ||||||||
Acme | Rob Pike | 1993 | Plan 9 and Inferno | C | No cost | MIT GPL-2.0-only LPL-1.02 |
![]() |
![]() | |
AkelPad | Alexey Kuznetsov Alexander Shengalts |
2003 | 4.9.9[1] ![]() |
2024-10-16 | C | No cost | BSD-2-Clause | ![]() |
![]() |
Alphatk | Vince Darley | 1999 | 8.3.3[2] ![]() |
2004-12-10 | $40 | Proprietary, with BSD components | ![]() |
![]() | |
Atom | GitHub | 2014 | 1.63.1[3] ![]() |
2022-11-23 | HTML, CSS, JavaScript, C++ | No cost | MIT | ![]() |
![]() |
BBEdit | Rich Siegel | 1992 | 15.0.3[4] ![]() |
2024-04-08 | Objective-C, Objective-C++ | No cost for most features, $49.99 for full version | Proprietary | ![]() |
![]() |
Bluefish | Bluefish Development Team | 1999 | 2.2.16[5] ![]() |
2024-09-22 | C | No cost | GPL-3.0-or-later | ![]() |
![]() |
Brackets | Adobe Systems | 2012 | 2.2.1[6] ![]() |
2023-03-22 | HTML, CSS, JavaScript, C++ | No cost | MIT | ![]() |
![]() |
Coda | Panic | 2007 | 2.7.7[7] ![]() |
2020-11-05 | Objective-C | $99 | Proprietary | ![]() |
|
ConTEXT | ConTEXT Project Ltd | 1999 | Object Pascal (Delphi) | No cost | BSD-3-Clause | ![]() |
|||
Crimson Editor | Ingyu Kang | 1999 | 3.72-r286m[8] ![]() |
2011-10-01 | C++ | No cost | Proprietary | ![]() |
|
CudaText | UVViewSoft[a] | 2015 | 1.217.5.1[9] ![]() |
2024-09-05 | Object Pascal (Lazarus) | No cost | MPL-2.0 | ![]() |
![]() |
ed | Ken Thompson | 1970 | unchanged from original | C | No cost | ? | ![]() |
![]() | |
Editra | Cody Precord | 2007 | 0.7.20 | 2013-01-05 | Python | No cost | wxWindows license | ![]() |
![]() |
EmEditor | Emurasoft, Inc. | 1997 | 21.3.0 | 2021-11-24 | C++ | $39.99 | Shareware | ![]() |
![]() |
epsilon | Lugaru Software | 1984 | 14.00[10] | 2020-10-20 | C | $250 | Proprietary | ||
FeatherPad | Pedram Pourang | 2016 | 1.4.1[11] ![]() |
2023-06-12 | C++, Qt | No cost | GPL-3.0-or-later | ![]() |
![]() |
FocusWriter | Graeme Gott | 2008 | 1.8.11[12] ![]() |
2025-03-07 | C++, Qt | No cost | GPL-3.0-or-later | ![]() |
![]() |
gedit | GNU Project | 2000 | 48.0[13] ![]() |
2024-09-14 | C | No cost | GPL-3.0 | ![]() |
![]() |
Geany | Enrico Tröger | 2005 | 2.0.0[14] ![]() |
2023-10-19 | C, GTK+ | No cost | GPL-2.0-or-later | ![]() |
![]() |
GNU Emacs | Richard Stallman | 1984 | 30.1[15] ![]() |
2025-02-23 | C, Emacs Lisp | No cost | GPL-3.0-or-later | ![]() |
![]() |
GNU nano | Chris Allegretta | 1999 | 8.4[16] ![]() |
2025-04-02 | C | No cost | GPL-3.0-or-later | ![]() |
![]() |
IA Writer | Information Architects | 2010.09.22 | 5.6 | 2020-12-07 | Objective-C (iOS), Objective-C (macOS), C# (Windows), Java (Android) | $29.99 | Proprietary | ![]() |
![]() |
JED | John E. Davis | 1992 | 0.99-19 ![]() |
2009-12-13 | C, S-Lang | No cost | GPL-2.0-or-later | ![]() |
![]() |
jEdit | Slava Pestov | 1998 | 5.7.0[17] ![]() |
2024-08-03 | Java | No cost | GPL-2.0-or-later | ![]() |
![]() |
JOE | Joseph Allen | 1988 | 4.6[18] ![]() |
2018-01-09 | C | No cost | GPL | ![]() |
![]() |
JOVE | Johnathon Payne | 1983 | 4.17.5.3[19] ![]() |
2023-03-21 | C | No cost | JOVE license | ![]() |
![]() |
Kate | KDE Project | 2000-12 | 24.12.3[20] ![]() |
2025-03-06 | C++ | No cost | LGPL, MIT | ![]() |
![]() |
KEDIT | Mansfield Software Group, Inc. | 1983 | 1.6.1 | 2016-12-05 | C | $129 | Proprietary | ![]() |
![]() |
Komodo Edit | Activestate | 2007 | 12.0.1[21] ![]() |
2020-02-10 | Python, JavaScript, Perl, Tcl, PHP, Ruby | No cost | MPL, GPL, LGPL | ![]() |
![]() |
Komodo IDE | Activestate | 2001 | Python, JavaScript, Perl, Tcl, PHP, Ruby | $295 | Proprietary | ![]() |
![]() | ||
KWrite | KDE Project | 2000 | 24.12.1[22] ![]() |
2025-01-09 | C++ | No cost | LGPL | ![]() |
![]() |
LE | Alexander V. Lukyanov | 1997 | 1.16.8[23] ![]() |
2021-02-05 | C++ | No cost | GPL-3.0-or-later | ![]() |
![]() |
Leo | Edward K. Ream | 1996 | 6.7.6[24] ![]() |
2023-12-19 | Python | No cost | MIT | ![]() |
![]() |
Light Table | Chris Granger | 2012 | 0.8.1[25] ![]() |
2016-01-22 | ClojureScript | No cost | MIT | ![]() |
![]() |
mcedit | Miguel de Icaza | 1994 | 4.8.33[26] ![]() |
2025-01-23 | C, Python, PHP, Javascript, Perl, Tcl, Ruby | No cost | GPL-3.0-or-later | ![]() |
![]() |
Metapad | Alexander Davidson | 1999 | 3.6[27][28] ![]() |
2011-05-28 | C | No cost | GPL-3.0-or-later | ![]() |
![]() |
mg | Dave Conroy | 1986 | current[b] | 2020-07-22 | C | No cost | Public domain | ![]() |
![]() |
MinEd | Thomas Wolff | 1992 | 2022.27 | 2022-12-23 | C | No cost | GPL | ![]() |
![]() |
MS-DOS Editor | Microsoft | 1991 | 2.0.026 | Bundled with MS-DOS, Microsoft Windows | Proprietary | ![]() |
![]() | ||
ne | Sebastiano Vigna Todd Lewis Daniele Filaretti |
1993 | 3.3.4[30] ![]() |
2025-02-06 | C | No cost | GPL-3.0-or-later | ![]() |
![]() |
NEdit | Mark Edel | 1991 | 5.7[31] ![]() |
2017-02-08 | C | No cost | GPL-2.0-or-later | ![]() |
![]() |
Notepad | Microsoft | 1985 | 11.2302.16.0 | MASM (originally) | Bundled with Microsoft Windows | Proprietary | ![]() |
![]() | |
Notepad++ | Don Ho | 2003-11-25 | 8.7.9[32] ![]() |
2025-04-02 | C++ | No cost | GPL-3.0-or-later | ![]() |
![]() |
nvi | Keith Bostic | 1994 | 1.81.6[33] ![]() |
2007-11-18 | C | No cost | BSD-3-Clause | ![]() |
![]() |
Pico | University of Washington | 1992 | 4.64 | C | No cost | Apache-2.0 | ![]() |
![]() | |
PimNote | Pimtel | 2023 | 1.2.0[34] | 2023-04-22 | C# | No cost | Proprietary | ![]() |
![]() |
PolyEdit | PolySoft Solutions | 1998 | 5.4 | 2010‑04‑07 | $27.95 | Shareware | ![]() |
![]() | |
PSPad | Jan Fiala | 2002 | 5.5.1[35] ![]() |
2025-02-05 | Object Pascal (Delphi) | No cost | Proprietary | ![]() |
![]() |
RJ TextEd | Rickard Johansson | 2004 | 15.63[36] ![]() |
2022-09-29 | Object Pascal (Delphi) | No cost | Proprietary | ![]() |
![]() |
Sam | Rob Pike | 1980s (early) | stable | C | No cost | LPL (OSI approved) | ![]() |
![]() | |
SciTE | Neil Hodgson | 1999 | 5.5.4[37] ![]() |
2024-12-18 | C++ | $41.99 for macOS. No cost for others | HPND | ![]() |
![]() |
SlickEdit | SlickEdit, Inc. | 1988 | 28.0.1 | 2024-01-21 | C, Slick-C | $299 | Proprietary | ![]() |
![]() |
Smultron | Peter Borg | 2004 | 12.0.6 ![]() |
2020-01-03 | Objective-C | $7.99 | Proprietary | ![]() |
![]() |
SubEthaEdit | TheCodingMonkeys | 2003 | 5.2.4[38] ![]() |
2022-01-08 | No cost | MIT | ![]() |
||
Sublime Text | Jon Skinner, Sublime HQ | 2008 | 4 (Build 4192)[39] ![]() |
2025-01-20 | C++, Python | $99 | Shareware | ![]() |
![]() |
TED Notepad | Juraj Simlovic | 2001 | 6.3.1[40] ![]() |
2021-12-01 | C | No cost | Proprietary | ![]() |
![]() |
Textadept | Mitchell | 2007 | 12.6[41] ![]() |
2025-02-01 | C, Lua | No cost | MIT | ![]() |
![]() |
TextEdit | Apple Inc. | 2001 | 1.18 ![]() |
2022-10-24 | No cost (also bundled with macOS) | BSD-3-Clause | ![]() |
![]() | |
TextMate | MacroMates | 2004-10-10 | 2.0.23[42] ![]() |
2021-10-12 | Objective-C++ | No cost | GPL-3.0-or-later | ![]() |
![]() |
TextPad | Helios Software Solutions | 1992 | 9.3.0[43] ![]() |
2023-08-01 | $30.00 (£16.50) | Shareware | ![]() |
![]() | |
TextWrangler | Bare Bones Software | 2003 | 5.5.2 | 2016-09-20 | No cost | Proprietary | ![]() |
||
The SemWare Editor | Sammy Mitchell | 1985-11 | 4.49[44] ![]() |
2023-01 | C, SAL | No cost | BSD-2-Clause | ||
UltraEdit | IDM Computer Solutions | 1994 | 25.0 | 2018-03-12 | C++ | $99.95 | Proprietary | ![]() |
![]() |
VEDIT | Ted Green, Greenview Data | 1980 | 6.24.2 | 2015-01-12 | Assembly, C | $89 standard, $239 Pro64 | Proprietary | ![]() |
![]() |
vi | Bill Joy | 1976 | 3.7 | C | No cost | BSD-4-Clause or CDDL | ![]() |
![]() | |
Vim | Bram Moolenaar | 1991 | 9.1[45][46] ![]() |
2024-01-02 | C, Vim script | No cost | Vim | ![]() |
![]() |
Visual Studio Code | Microsoft | 2015 | 1.99.3[47] ![]() |
2025-04-17 | JavaScript, TypeScript | No cost | Source code: MIT[48] Binaries built by Microsoft: Proprietary[49][50] |
![]() |
![]() |
XEmacs | Lucid Inc. | 1991 | 21.4.22[51] ![]() |
2009-01-30 | C, Emacs Lisp | No cost | GPL-2.0-or-later | ![]() |
![]() |
XNEdit | Olaf Wintermann | 2018 | 1.5.2 | 2023-10-05 | C | No cost | GPL-2.0-or-later | ![]() |
![]() |
Operating system support
Summarize
Perspective
This section lists the operating systems that different editors can run on. Some editors run on additional operating systems that are not listed.
Cross-platform
Microsoft Windows | macOS | Linux | BSD | Unix | OpenVMS | |
---|---|---|---|---|---|---|
Acme | Partial [c] |
![]() |
![]() |
![]() |
![]() |
![]() |
AkelPad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Alphatk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Atom | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Arachnophilia | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
BBEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Brackets | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Coda | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ConTEXT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Crimson Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
CudaText | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ed | Partial [d] |
![]() |
![]() |
![]() |
![]() |
![]() |
Editra | ![]() |
![]() |
![]() |
? | ? | ? |
EmEditor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
epsilon | ![]() |
![]() [52] |
![]() |
![]() |
![]() |
![]() |
Geany | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
gedit | ![]() |
![]() [e] |
![]() |
![]() |
![]() |
![]() |
GNU Emacs | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JED | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
jEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JOE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JOVE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Kate | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
KEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Komodo Edit | ![]() |
![]() |
![]() |
![]() |
? | ? |
Komodo IDE | ![]() |
![]() |
![]() |
![]() |
? | ? |
KWrite | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
LE | Partial [d] |
![]() |
![]() |
![]() |
![]() |
![]() |
Light Table | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Metapad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
mg | ![]() |
![]() |
![]() |
![]() |
![]() |
? |
MinEd | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
GNU nano | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ne | Partial [d] |
![]() |
![]() |
![]() |
![]() |
![]() |
NEdit | Partial [d] |
![]() [f] |
![]() |
![]() |
![]() |
![]() |
Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Notepad++ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
nvi | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Pico | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
PSPad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
RJ TextEd | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Sam | Partial [c] |
![]() |
![]() |
![]() |
![]() |
![]() |
SciTE | ![]() |
![]() [f] |
![]() |
![]() |
![]() |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Smultron | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Sublime Text | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TED Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Textadept | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextMate | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextPad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextWrangler | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The SemWare Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
UltraEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ulysses (text editor) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Vim | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Visual Studio Code | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
XEmacs | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
XNEdit | Partial [d][g] |
![]() [f] |
![]() |
![]() |
![]() |
![]() |
Natural language (localization)
Languages supported | |
---|---|
Acme | English |
AkelPad | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish |
Alphatk | English |
Atom | English |
BBEdit | English |
Brackets | English, German, French, Polish(Outdated), Korean, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish(Outdated) |
Coda | English, German, French, Spanish |
ConTEXT | English, German, French, Polish, Italian, Dutch, Portuguese, Spanish |
Crimson Editor | English |
CudaText | Main: English. Addons: Japanese, French, Polish, Korean, Hungarian (2018), Greek, German (2017), and 9 others |
ed | |
Editra | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
EmEditor | English, German, French, Korean, Japanese, Italian, Dutch, Spanish |
epsilon | English |
Geany | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
gedit | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
GNU Emacs | English |
JED | English |
jEdit | English |
JOE[53] | English, German, French |
JOVE | English |
Kate[54] | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
KEDIT | English |
Komodo Edit | English |
KWrite | English, German, Italian, Spanish, Swedish |
Metapad[55] | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
mined | English |
MS-DOS Editor | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
Nano | English, German, French, Italian, Portuguese |
NEdit | English |
Notepad | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
Notepad++ | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
nvi | English |
Pico | English, Italian |
PolyEdit | English |
PSPad | English, German, French, Polish, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish |
RJ TextEd | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
Sam | English |
SciTE[56] | English, German, French (Outdated (1.72)), Polish, Japanese (Outdated (1.62)), Italian, Dutch (Outdated (1.67)), Portuguese (Outdated (1.63)), Spanish, Swedish |
SlickEdit | English |
Smultron | English, German, French, Japanese, Italian, Dutch, Spanish, Swedish |
SubEthaEdit | English |
TED Notepad | English |
TextEdit | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
TextMate | English |
TextPad | English, German, French, Polish (Outdated (4.7.3)), Japanese, Italian(Outdated (4.7.3)), Dutch (Outdated (4.7.3)), Spanish (Outdated (4.7.3)), Portuguese (Outdated (4.7.3)) |
TextWrangler | English |
The SemWare Editor | English |
UltraEdit | English, German, French, Korean, Italian, Spanish, Portuguese, Japanese, Chinese |
VEDIT | English |
vi | English |
Vim | Afrikaans, Catalan, Chinese(Simplified), Chinese(Taiwan), Czech, Danish, Dutch, German, English(UK), English(US), Esperanto, Finnish, French, Irish, Italian, Japanese, Korean, Latvian, Norwegian(Bokmål), Polish, Portuguese(Brazil), Russian, Serbian, Slovak, Spanish, Swedish, Ukrainian, Vietnamese |
Visual Studio Code | English, Bulgarian, Chinese, French, German, Hungarian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Turkish |
XEmacs | English |
XNEdit | English |
Document interface
Multiple instances | Single document window splitting | MDI: overlappable windows | MDI: tabbed document interface | MDI: window splitting | |
---|---|---|---|---|---|
Acme | ![]() |
![]() |
![]() |
![]() |
![]() |
AkelPad | ![]() |
![]() |
![]() |
![]() |
![]() |
Alphatk | ![]() |
![]() |
![]() |
![]() |
![]() |
Atom | ![]() |
![]() |
![]() |
![]() |
![]() |
BBEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
![]() |
![]() |
![]() |
Brackets | ![]() |
![]() |
![]() |
![]() |
![]() |
Coda | ![]() |
![]() |
![]() |
![]() |
![]() |
ConTEXT | ![]() |
![]() |
![]() |
![]() |
![]() |
Crimson Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
CudaText | ![]() |
![]() |
![]() |
![]() |
![]() |
ed | ![]() |
![]() |
![]() |
![]() |
![]() |
Editra | ![]() |
![]() |
? | ![]() |
? |
EmEditor | ![]() |
![]() |
![]() |
![]() |
![]() |
Geany | ![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
gedit | ![]() |
![]() Plug‑in[h] |
![]() |
![]() |
![]() Plug‑in[i] |
GNU Emacs | ![]() |
![]() |
![]() |
![]() [j][k] |
![]() |
JED | ![]() |
![]() |
![]() |
![]() |
![]() |
jEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
JOE | ![]() |
![]() |
![]() |
![]() [l] |
![]() |
JOVE | ![]() |
![]() |
![]() |
![]() |
![]() |
Kate | ![]() |
![]() |
![]() |
![]() |
![]() |
KEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
Komodo Edit | ![]() |
![]() |
![]() |
![]() |
![]() |
Komodo IDE | ![]() |
![]() |
![]() |
![]() |
![]() |
KWrite | ![]() |
![]() |
![]() |
![]() |
![]() |
LE | ![]() |
![]() |
![]() |
![]() |
![]() |
Light Table | ![]() |
![]() |
![]() |
![]() |
![]() |
Metapad | ![]() |
![]() |
![]() |
![]() |
![]() |
mined | ![]() |
![]() |
![]() [m] |
![]() |
![]() |
MS-DOS Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
![]() |
![]() |
NEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
Notepad++ | ![]() |
![]() |
![]() |
![]() |
![]() 2 windows |
nvi | ![]() |
![]() |
![]() |
![]() |
![]() |
Pico | ![]() |
![]() |
![]() |
![]() |
![]() |
PolyEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
PSPad | ![]() |
![]() |
![]() |
![]() |
![]() |
RJ TextEd | ![]() |
![]() |
![]() |
![]() |
![]() |
Sam | ![]() |
![]() |
![]() |
![]() |
![]() |
SciTE | ![]() |
![]() |
![]() |
![]() [n] |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
Smultron | ![]() |
![]() |
![]() |
![]() |
![]() |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
TED Notepad | ? | ? | ? | ![]() |
? |
TextEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
TextMate | ![]() |
![]() |
![]() |
![]() |
![]() |
TextPad | ![]() |
![]() |
![]() |
![]() |
![]() |
TextWrangler | ![]() |
![]() |
![]() |
![]() |
![]() |
The SemWare Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
UltraEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
VEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
![]() |
![]() |
Vim | ![]() |
![]() |
![]() [o] |
![]() [p] |
![]() |
Visual Studio Code | ![]() |
![]() |
![]() |
![]() |
![]() |
XEmacs | ![]() |
![]() |
![]() |
![]() |
![]() |
XNEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
Multiple instances | Single document window splitting | MDI: overlappable windows | MDI: tabbed document interface | MDI: window splitting | |
Notes
- Multiple instances: multiple instances of the program can be opened simultaneously for editing multiple files. Applies both for single document interface (SDI) and multiple document interface (MDI) programs. Also applies for program that has a user interface that looks like multiple instances of the same program (such as some versions of Microsoft Word).
- Single document window splitting: window can be split to simultaneously view different areas of a file.
- MDI: Overlappable windows: each opened document gets its own fully movable window inside the editor environment.
- MDI: Tabbed document interface: multiple documents can be viewed as tabs in a single window.
- MDI: Window splitting: splitting application window to show multiple documents (non-overlapping windows).
Basic features
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection | Virtual space support | |
---|---|---|---|---|---|---|---|
Acme | ![]() external[q] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
AkelPad | ![]() Plug‑in |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Alphatk | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Atom | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() Plug‑in |
![]() |
BBEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Bluefish | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Brackets | ![]() Plug‑in |
![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
? |
Coda | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
ConTEXT | ![]() |
Partial [r] |
Partial [s] |
![]() |
![]() |
![]() |
? |
Crimson Editor | ![]() Instant/live (like Firefox) |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
CudaText | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
ed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Editra | ![]() |
![]() |
? | ? | ? | ![]() |
? |
EmEditor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Geany | ![]() Plug‑in[t] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
gedit | ![]() [u] |
![]() Plug‑in[v] |
![]() |
![]() |
![]() |
plug‑in [59] |
? |
GNU Emacs | ![]() Plug‑in[w] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JED | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
jEdit | ![]() Plug‑in[x] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JOE | ![]() Plug‑in[y] |
Partial [z] |
![]() [aa] |
![]() |
![]() |
![]() |
? |
JOVE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Kate | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
KEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Komodo Edit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
?[ab] |
Komodo IDE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
?[ac] |
KWrite | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
LE | ![]() |
![]() |
![]() [ad] |
![]() |
![]() |
![]() |
? |
Light Table | ![]() Plug‑in[62] |
? | ![]() |
![]() |
![]() |
? | ? |
Metapad | Partial [ae] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
mg | ![]() |
![]() [63] |
![]() |
Partial | ![]() [63] |
![]() |
? |
MinEd | ![]() |
![]() [af] |
![]() [ag] |
![]() [ah] |
![]() |
![]() |
? |
MS-DOS Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection | Virtual Space Support | |
ne | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
NEdit | ![]() Plug‑in[64] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Notepad | ![]() |
![]() |
Partial | Partial | ![]() |
![]() |
? |
Notepad++ | ![]() [65] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
nvi | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ? |
Pico | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
PolyEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
PSPad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
RJ TextEd | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Sam | ![]() external[ai] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
SciTE | ![]() |
Limited [aj] |
![]() |
![]() |
![]() |
![]() |
? |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Smultron | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() [66] |
? |
Sublime Text | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TED Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
TextEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
TextMate | ![]() |
![]() |
Partial | ![]() |
![]() |
![]() |
? |
TextPad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
TextWrangler | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
The SemWare Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
UltraEdit | ![]() |
Limited [ak] |
![]() |
![]() |
![]() |
![]() |
? |
VEDIT | ![]() [al] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
vi | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Vim | ![]() [am] |
![]() |
![]() |
![]() |
![]() |
![]() |
No[69] |
Visual Studio Code | ![]() Plug‑in |
![]() |
![]() |
![]() |
![]() |
Limited [an] |
![]() |
XEmacs | ![]() Plug‑in[w] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
XNedit | ![]() Plug‑in[64] |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection | Virtual Space Support |
Programming features
Syntax highlighting | Function list | Symbol database (ctags or equiv.) |
Brace matching | Auto indentation | Auto completion | Code folding | Text folding | Compiler integration | |
---|---|---|---|---|---|---|---|---|---|
Acme | ![]() |
![]() external[q] |
![]() external[q] |
![]() |
![]() |
Partial [ao] |
![]() |
![]() |
![]() external[q] |
AkelPad | ![]() Plug‑in |
![]() Plug‑in |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() Plug‑in |
Alphatk | ![]() |
? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Atom | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() Plug‑in |
BBEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() [ap] |
Brackets | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() Plug‑in |
Coda | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ConTEXT | ![]() |
? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Crimson Editor | ![]() |
![]() |
Partial [aq] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
CudaText | ![]() |
![]() |
![]() |
![]() Plug‑in |
![]() |
![]() Plug‑in |
![]() |
![]() |
![]() Plug‑in |
ed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() external[ar] |
Editra | ![]() |
? | ? | ![]() |
![]() |
? | ![]() |
? | ? |
EmEditor | ![]() |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() |
![]() Plug‑in[as] |
![]() |
![]() |
![]() |
Geany | ![]() |
![]() |
![]() [at] |
![]() |
![]() |
![]() |
Partial | ![]() |
![]() |
gedit | ![]() |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() |
![]() Plug‑in |
![]() |
![]() Plug‑in[au] |
![]() [av] |
GNU Emacs | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JED | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
jEdit | ![]() |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() Plug‑in |
JOE | ![]() |
? | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
JOVE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Kate | ![]() |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() Plug‑in |
KEDIT | ![]() |
![]() |
![]() Macro |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Komodo Edit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Komodo IDE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
KWrite | ![]() |
? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
LE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() [aw] |
Light Table | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Partial [ax] |
Metapad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
mined | ![]() [ay] |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MS-DOS Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Syntax highlighting | Function list | Symbol database (ctags or equiv.) |
Bracket matching | Auto indentation | Auto completion | Code folding | Text folding | Compiler integration | |
ne | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
NEdit | ![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Notepad++ | ![]() |
![]() [az] |
![]() [71][72] |
![]() |
![]() |
![]() [ba] |
![]() |
![]() |
![]() |
nvi | ![]() |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Pico | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
PolyEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
PSPad | ![]() |
![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
RJ TextEd | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Sam | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() external[ai] |
SciTE | ![]() |
![]() [bb] |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Smultron | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ? | ? |
SubEthaEdit | ![]() |
? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TED Notepad | ![]() |
? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextMate | ![]() |
![]() |
![]() Plug‑in |
![]() |
![]() |
![]() [bc] |
![]() |
![]() |
![]() |
TextPad | ![]() |
![]() |
![]() Plug‑in[bd] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextWrangler | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() Plug‑in[be] |
The SemWare Editor | ![]() |
![]() |
![]() Plug‑in[73] |
![]() |
![]() |
![]() [bf] |
Partial [bg] |
![]() |
![]() |
UltraEdit | ![]() |
![]() |
Partial [bh] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
VEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() <[bi] |
![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Vim | ![]() |
![]() Plug‑in[74] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Visual Studio Code | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
XEmacs | ![]() |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
XNEdit | ![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
![]() Plug‑in |
![]() |
![]() |
![]() |
Syntax highlighting | Function list | Symbol database (ctags or equiv.) |
Bracket matching | Auto indentation | Auto completion | Code folding | Text folding | Compiler integration | |
Notes
- Syntax highlighting: Displays text in different colors and fonts according to the category of terms.
- Function list: Lists all functions from current file in a window or sidebar and allows user to jump directly to the definition of that function for example by double-clicking on the function name in the list. More or less realtime (does not require creating a symbol database, see below).
- Symbol database: Database of functions, variable and type definitions, macro definitions etc. in all the files belonging to the software being developed. The database can be created by the editor itself or by an external program such as ctags. The database can be used to instantly locate the definition even if it is in another file.
- Bracket matching: Find matching parenthesis or bracket, taking into account nesting.
- Auto indentation: May refer to just simple indenting to the same level as the line above, or intelligent indenting that is language specific, e.g., ensuring a given indent style.
- Compiler integration: Allows running compilers/linkers/debuggers from within editor, capturing the compiler output and stepping through errors, automatically moving cursor to corresponding location in the source file.
Extra features
Summarize
Perspective
Text shell integration | Graphical shell integration | Macro language | Collaborative editing | Large file support | Long line support | Multi-line regex support[bj] | Search in files | |
---|---|---|---|---|---|---|---|---|
Acme | ![]() |
![]() |
![]() Extensible |
![]() |
? | ? | ![]() |
? |
AkelPad | ![]() |
![]() |
![]() |
![]() |
memory | ![]() |
![]() |
![]() Plug‑in |
Alphatk | ![]() |
![]() |
![]() [bk] |
![]() |
? | ? | ? | ? |
Atom | ![]() [75] |
? | ![]() Plug‑in[76] |
![]() |
![]() |
Soft-wrapping | ![]() [77] |
![]() |
BBEdit | ![]() |
![]() |
![]() [bl] |
![]() |
memory [78] |
![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
? | ![]() |
? | ? | ![]() |
? |
Brackets | ![]() |
![]() |
![]() Extensible |
![]() |
![]() |
? | Partial | ![]() |
Coda | ![]() |
![]() |
![]() [bm] |
![]() |
? | ? | ![]() |
![]() |
ConTEXT | ![]() |
![]() |
![]() |
![]() |
memory [bn] |
? | ![]() |
? |
Crimson Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
? |
CudaText | ![]() |
![]() |
![]() Plug‑in |
![]() |
? | ? | ![]() |
![]() Plug‑in |
ed | ![]() |
![]() |
![]() |
![]() via mkfifo |
? | ? | ? | ![]() |
Editra | ? | ? | ? | ? | ![]() 2 GB |
? | ? | ? |
EmEditor | ![]() |
![]() |
![]() |
![]() |
![]() 16TB |
? | ![]() |
![]() |
Geany | ![]() |
? | ![]() Plug‑in |
? | ? | ? | ![]() |
![]() |
gedit | ![]() |
![]() |
![]() [bo] |
![]() Plug‑in |
![]() |
? | ![]() |
![]() Plug‑in[79] |
GNU Emacs | ![]() |
![]() |
![]() |
![]() |
2.3 EB[80][81][82][83] | ![]() |
![]() |
![]() |
JED | ![]() |
![]() |
![]() |
![]() |
memory [84] |
![]() |
![]() |
![]() Plug‑ins |
jEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
![]() |
JOE | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ? | ![]() [86] |
JOVE | ![]() |
![]() |
![]() |
![]() |
memory | ? | ![]() |
![]() |
Kate | ![]() |
![]() |
![]() Plug‑in |
![]() |
![]() [87] |
Maybe [bq] |
![]() |
![]() Plug‑in |
KEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
10Kb | ![]() |
![]() |
Komodo Edit | ? | ? | ![]() [89] |
![]() |
? | ? | ![]() |
![]() |
Komodo IDE | ? | ? | ![]() [89] |
![]() |
? | ? | ![]() |
![]() |
KWrite | ![]() |
![]() |
![]() |
![]() |
![]() [87] |
![]() [90] |
![]() |
? |
LE | ![]() |
![]() |
![]() |
![]() [br] |
memory [bs] |
? | ![]() |
? |
Light Table | ![]() |
![]() |
![]() |
![]() |
? | ? | ![]() |
![]() |
Metapad | ![]() |
![]() |
![]() |
![]() |
memory [91] |
? | ![]() |
![]() |
mined | ? | ? | ? | ? | ? | ? | ![]() |
? |
EDIT (MS-DOS) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
EDIT (DR-DOS) | ![]() |
![]() |
![]() |
![]() |
2 GB, for as long as there is disk swap space for two temporary files | ![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
![]() |
? | ? | ? | ? |
Text shell integration | Graphical shell integration | Macro language | Collaborative editing | Large file support | Long line support | Multi-line regex support | Search in files | |
NEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Notepad | ![]() |
![]() |
![]() |
![]() |
memory | ? | ![]() |
![]() |
Notepad++ | ![]() |
![]() |
![]() |
![]() [92] |
![]() 2GB[93] |
![]() [94] |
![]() |
![]() |
nvi | ![]() |
![]() |
![]() |
? | ? | ? | ? | ? |
Pico | ? | ? | ? | ![]() |
? | ? | ? | ? |
PolyEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
? |
PSPad | ![]() |
![]() |
![]() |
![]() |
memory [95] |
? | ![]() with plug‑in |
![]() |
RJ TextEd | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
? |
Sam | ![]() |
![]() |
![]() |
![]() |
? | ? | ![]() |
![]() external[ai] |
SciTE | ? | ? | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
![]() 2 TB |
![]() |
![]() |
![]() |
Smultron | ? | ? | ? | ? | ? | ? | ? | ? |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
? | ? | ![]() |
? |
TED Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ? | ? |
TextEdit | ![]() |
![]() |
![]() |
![]() |
? | ? | ? | ? |
TextMate | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
? |
TextPad | ![]() |
![]() |
![]() |
![]() |
memory [96] |
? | ![]() |
![]() |
TextWrangler | ![]() |
![]() |
![]() |
![]() |
memory [97] |
![]() |
![]() |
? |
The SemWare Editor | ![]() |
![]() |
![]() |
![]() |
![]() 2 GB |
![]() |
? | ![]() |
UltraEdit | ![]() |
![]() |
![]() |
![]() |
![]() [bt] |
![]() |
![]() |
![]() |
VEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
![]() |
Vim | ![]() |
![]() |
![]() |
![]() with plug‑in[98] |
memory [bu] |
![]() |
![]() |
![]() |
Visual Studio Code | ![]() |
![]() |
![]() |
![]() with plug‑in[99] |
? | ? | ![]() |
![]() |
XEmacs | ![]() |
![]() |
![]() |
![]() |
on 64-bit OS [bv] |
? | ![]() |
![]() |
XNEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
Text shell integration | Graphical shell integration | Macro language | Collaborative editing | Large file support | Long line support | Multi-line regex support | Search in files |
Large file support:
![]() |
= Larger than 4 GiB (LFS) | ![]() |
= Larger than 1 GB, not limited by memory |
memory | = Limited by available memory | ![]() |
= Some limit less than available memory (give max size if known) |
In general, most text editors do not support large text files. Some restrict themselves to available in-core RAM while others use sophisticated virtual memory management techniques and paging algorithms.[100]
Search in files: Perform search (and possibly replace) in multiple files on disk, for example on a sub-directory and recursively all the directories below it. Similar to grep.
Key bindings
Summarize
Perspective
Support for custom key bindings.
Dynamically customizable | IBM CUA | macOS | Vi | Emacs | Pico | WordStar | WordPerfect | Brief | |
---|---|---|---|---|---|---|---|---|---|
Acme | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AkelPad | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
Alphatk | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Atom | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BBEdit[101][102] | ![]() |
? | ![]() |
? | ![]() |
? | ? | ? | ? |
Bluefish | ![]() |
? | ![]() |
? | ? | ? | ? | ? | ? |
Brackets | ![]() |
Partial | ![]() |
![]() Plug‑in |
![]() Plug‑in |
![]() |
![]() |
![]() |
![]() |
Coda | ![]() |
? | ![]() |
? | ? | ? | ? | ? | ? |
ConTEXT | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Crimson Editor | ? | ? | ? | ? | ? | ? | ? | ? | ? |
CudaText | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
ed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Editra | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
EmEditor | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
epsilon | ![]() |
? | ? | ? | ![]() |
? | ? | ? | ![]() |
Geany | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
gedit | ![]() [bw] |
? | ? | ? | ? | ? | ? | ? | ? |
GNU Emacs | ![]() |
![]() |
![]() |
![]() |
![]() |
Partial [103] |
![]() [104] |
![]() [105] |
![]() [105] |
JED | ![]() |
Partial [bx] |
? | ![]() |
![]() |
? | ![]() |
? | ![]() |
jEdit | ![]() |
? | ![]() |
![]() |
? | ? | ? | ? | ? |
JOE[106] | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JOVE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() [107] |
![]() |
![]() |
LE | ![]() |
? | ? | ![]() |
? | ? | ? | ? | ? |
Light Table | ![]() |
Partial | ? | ![]() Plug‑in |
![]() Plug‑in |
? | ? | ? | ? |
Kate | ![]() |
![]() |
![]() |
![]() [108] |
![]() |
![]() |
![]() |
![]() |
![]() |
KEDIT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Komodo Edit | ![]() |
? | ![]() |
![]() |
![]() |
? | ? | ? | ? |
Komodo IDE | ![]() |
? | ![]() |
![]() |
![]() |
? | ? | ? | ? |
KWrite | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
Metapad | ? | ? | ? | ? | ? | ? | ? | ? | ? |
mg | ![]() |
? | ? | ? | ![]() |
? | ? | ? | ? |
mined | ? | ? | ? | ? | ![]() |
![]() |
![]() |
? | ? |
MS-DOS Editor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
![]() |
Partial [109] |
![]() |
![]() |
![]() |
![]() |
NEdit | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
Notepad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Notepad++ | Partial | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
nvi | ? | ? | ? | ![]() |
? | ? | ? | ? | ? |
Pico | ![]() |
![]() |
![]() |
![]() |
Partial [109] |
![]() |
![]() |
![]() |
![]() |
PolyEdit | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PSPad | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
RJ TextEd | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
Sam | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SciTE | Partial [by] |
? | ? | ![]() |
![]() |
![]() |
? | ? | ? |
SlickEdit | ![]() [bz] |
![]() |
![]() [ca] |
Partial [cb] |
![]() |
![]() |
![]() |
![]() |
![]() |
Smultron | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TED Notepad | ? | ? | ? | ? | ? | ? | ? | ? | ? |
TextEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextMate | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TextPad | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
TextWrangler[101][110] | ![]() |
? | ![]() |
![]() |
![]() |
![]() |
? | ? | ? |
The SemWare Editor | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
UltraEdit | ![]() |
? | ![]() |
? | ? | ? | ? | ? | ? |
VEDIT | ![]() |
![]() |
![]() |
![]() [111] |
![]() |
![]() |
![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Vim | Partial | ![]() Plug‑in[112] |
![]() Plug‑in[113] |
![]() [cc] |
![]() Plug‑in[cd] |
? | ![]() Plug‑in[115] |
![]() |
![]() Plug‑in[116] |
Visual Studio Code | ![]() |
![]() |
![]() |
![]() Plug‑in[117] |
![]() Plug‑in[118] |
![]() |
![]() |
![]() |
Partial Plug‑in[119] |
XEmacs | ![]() |
![]() |
![]() |
![]() |
![]() |
Partial [103] |
![]() [104] |
![]() [105] |
![]() [105] |
XNEdit | ![]() |
? | ? | ? | ? | ? | ? | ? | ? |
Dynamically customizable | IBM CUA | macOS | Vi | Emacs | Pico | WordStar | WordPerfect | Brief |
Notes, bugs
- Vim: custom maps of Ctrl-1 .. Ctrl-9, Ctrl-0 cannot be set, nor is Control-Shift-<char> distinguished from Ctrl-<char>.[120][121]
- Notepad++: custom shortcuts of Shift-<char> cannot be set, they need an added modifier such as Ctrl or Alt. i.e. SCI_LINESCROLLUP cannot be bound to "Shift-I"as the "Add"button is greyed out.
- Emacs and Pico: pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc.
Protocol support
Summarize
Perspective
Support for editing files over a network or the Internet.
FTP | HTTP | SSH | WebDAV | |
---|---|---|---|---|
Acme | ![]() |
![]() |
![]() |
![]() |
AkelPad | ![]() |
![]() |
![]() |
![]() |
Alphatk | ![]() |
![]() |
![]() |
![]() |
Atom | ? | ? | ? | ? |
BBEdit | ![]() |
![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
![]() |
![]() |
Brackets | ![]() Plug‑in |
![]() |
![]() |
![]() |
Coda | ![]() |
![]() |
![]() |
![]() |
ConTEXT | ![]() [122] |
? | ![]() [122] |
? |
Crimson Editor | ![]() |
![]() |
![]() |
![]() |
CudaText | ![]() |
![]() |
![]() |
![]() |
ed | ![]() |
![]() |
![]() |
![]() |
Editra | ? | ? | ? | ? |
EmEditor | ![]() |
![]() |
![]() |
![]() |
Geany | ![]() |
![]() |
![]() |
![]() |
gedit | ![]() |
![]() |
![]() |
![]() |
GNU Emacs | ![]() |
![]() |
![]() |
![]() |
JED | ![]() |
![]() |
![]() |
![]() |
jEdit | ![]() plug‑in[123] |
![]() [124] |
![]() plug‑in[123] |
![]() plug‑in. |
JOE | ![]() |
![]() |
![]() |
![]() |
JOVE | ![]() |
![]() |
![]() |
![]() |
LE | ![]() |
![]() |
![]() |
![]() |
Kate | ![]() |
![]() |
![]() |
![]() |
KEDIT | ![]() |
![]() |
![]() |
![]() |
Komodo IDE | ![]() FTP, FTPS, SFTP |
![]() |
![]() |
![]() |
KWrite | ![]() |
![]() |
![]() |
![]() |
Metapad | ![]() |
![]() |
![]() |
![]() |
mined | ? | ? | ? | ? |
MS-DOS Editor | ![]() |
![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
![]() |
FTP | HTTP | SSH | WebDAV | |
NEdit | ![]() |
![]() |
![]() |
![]() |
Notepad | ![]() |
![]() |
![]() |
![]() |
Notepad++ | ![]() Plug‑in for FTP, FTPS, FTPES, SFTP |
![]() |
![]() Plug‑in |
![]() |
nvi | ![]() |
![]() |
![]() |
![]() |
Pico | ![]() |
![]() |
![]() |
![]() |
PolyEdit | ![]() |
![]() |
![]() |
![]() |
PSPad | ![]() |
![]() |
![]() |
![]() |
RJ TextEd | ![]() FTP, SFTP |
![]() |
![]() |
![]() |
Sam | ![]() |
![]() |
![]() |
![]() |
SciTE | ![]() |
![]() |
![]() |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
Smultron | ![]() |
? | ? | ? |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
TED Notepad | ![]() [125] |
? | ![]() [125] |
? |
TextEdit | ![]() |
![]() |
![]() |
![]() |
TextMate | ![]() |
![]() |
![]() |
![]() |
TextPad | ![]() |
![]() |
![]() |
![]() |
TextWrangler | ![]() FTP, SFTP[126] |
![]() |
![]() |
![]() |
The SemWare Editor | ![]() |
![]() |
![]() |
![]() |
UltraEdit | ![]() |
![]() |
![]() |
![]() |
VEDIT | ![]() |
![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
![]() |
Vim | ![]() [127] |
![]() [127] |
![]() [127] |
![]() [127] |
Visual Studio Code | ![]() Plug‑in[128] |
![]() Plug‑in (limited?)[128] |
![]() Plug‑in[128] |
![]() Plug‑in[128] |
XEmacs | ![]() |
![]() |
![]() |
? |
XNEdit | ![]() |
![]() |
![]() |
![]() |
FTP | HTTP | SSH | WebDAV | |
Unicode and other character encodings
Summarize
Perspective
To support specified character encoding, the editor must be able to load, save, view and edit text in the specific encoding and not destroy any characters. For UTF-8 and UTF-16, this requires internal 16-bit character support.
Partial support is indicated if: 1) the editor can only convert the character encoding to internal (8-bit) format for editing. 2) If some encodings are supported only in some platforms. 3) If the editor can only display specific character set (such as OEM) by loading corresponding font, but does not support keyboard entry for that character set.
ASCII | ISO-8859 | DOS (OEM) | EBCDIC | UTF-8 | UTF-16 | |
---|---|---|---|---|---|---|
Acme | ![]() |
? | ? | ? | ![]() |
? |
AkelPad | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Alphatk | ![]() |
? | ? | ? | ![]() |
![]() |
Atom | ? | ? | ? | ? | ? | ? |
BBEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Brackets | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Coda | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
ConTEXT | ![]() |
![]() |
Partial [ce] |
![]() |
![]() |
![]() |
Crimson Editor | ![]() |
![]() |
Partial [ce] |
![]() |
Partial | ![]() |
CudaText | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
ed | ![]() |
? | ? | ? | ![]() |
![]() |
Editra | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
EmEditor | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Geany | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
gedit | ![]() |
![]() |
? | ? | ![]() |
![]() |
GNU Emacs | ![]() |
![]() |
![]() |
![]() |
![]() [cf] |
![]() [cg] |
JED | ![]() |
![]() |
![]() |
? | ![]() |
Partial [ch] |
jEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JOE | ![]() |
? | ? | ? | ![]() |
![]() |
JOVE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
LE | ![]() |
? | ? | ? | ![]() |
![]() |
Kate | ![]() |
![]() |
? | ? | ![]() |
![]() |
KEDIT | ![]() |
![]() |
Partial [ce] |
![]() |
![]() |
![]() |
Komodo Edit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Komodo IDE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
KWrite | ![]() |
? | ? | ? | ![]() |
![]() |
Metapad | ![]() |
![]() |
Partial [ce] |
![]() |
![]() |
![]() |
mined | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MS-DOS Editor | ![]() |
? | ![]() |
? | ? | ? |
Nano | ![]() |
![]() |
? | ? | ![]() |
![]() |
NEdit | ![]() |
? | ? | ? | ![]() |
![]() |
Notepad | ![]() |
![]() |
Partial [ce] |
![]() |
![]() |
![]() |
Notepad++ | ![]() |
![]() |
![]() |
plug‑in? | ![]() |
![]() |
nvi | ![]() |
? | ? | ? | ![]() [ci] |
![]() |
Pico | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
PolyEdit | ![]() |
? | ? | ? | ![]() |
![]() |
PSPad | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
RJ TextEd | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Sam | ![]() |
? | ? | ? | ![]() |
![]() |
SciTE[cj] | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Smultron | ![]() |
? | ? | ? | ![]() |
![]() |
SubEthaEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TED Notepad | ![]() |
? | ? | ? | ![]() |
![]() |
TextEdit | ![]() |
![]() |
? | ? | ![]() |
![]() |
TextMate | ![]() |
![]() |
? | ? | ![]() |
![]() |
TextPad | ![]() |
? | ? | ? | Partial [ck] |
Partial [ck] |
TextWrangler | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The SemWare Editor | ![]() |
![]() [cl] |
Partial [ce] |
![]() Plug‑in |
![]() |
![]() |
UltraEdit | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
VEDIT | ![]() |
![]() |
![]() |
![]() |
Partial [cm] |
Partial [cm] |
vi | ![]() |
? | ? | ? | ![]() |
![]() |
Vim | ![]() |
![]() |
![]() |
Partial [cn] |
![]() |
![]() |
Visual Studio Code | ![]() |
![]() |
![]() |
![]() [130] |
![]() |
![]() |
XEmacs | ![]() |
![]() |
? | ? | ![]() [co] |
![]() |
XNEdit | ![]() |
![]() |
? | ? | ![]() |
![]() |
Right-to-left and bidirectional text
Summarize
Perspective
Support for Right-To-Left (RTL) texts is necessary for editing some languages like Arabic, Persian, Hebrew, and Yiddish and the mixture of left to right (LTR) and RTL known as bi-directional (BiDi) support.
Depending on the algorithm used in the programs it might only render the bidirectional text correctly but may not be able to edit them. (e.g. Notepad++ 5.1.3 shows bidirectional texts correctly but cannot edit it and user should change the text direction to RTL to be able to edit RTL texts correctly.)
Right-to-left (RTL) | Bi-directional (Bidi) | |
---|---|---|
Acme | ![]() |
![]() |
AkelPad | ![]() |
![]() |
Alphatk | ? | ? |
Atom | ![]() |
![]() |
BBEdit | ![]() |
![]() |
Bluefish | ![]() |
![]() |
Brackets | ? | ? |
Coda | ? | ? |
ConTEXT | ? | ? |
Crimson Editor | ? | ? |
ed | ? | ? |
Editra | ? | ? |
EmEditor | ![]() |
![]() |
Geany | ? | ? |
gedit | ![]() |
![]() |
GNU Emacs | ![]() |
![]() [cp] |
JED | ? | ? |
jEdit | ![]() |
![]() |
JOE | ? | ? |
JOVE | ![]() |
![]() |
LE | ? | ? |
Kate | ![]() |
![]() |
KEDIT | ![]() |
![]() |
Komodo Edit | ![]() |
![]() |
Komodo IDE | ![]() |
![]() |
KWrite | ? | ? |
Metapad | ? | ? |
MS-DOS Editor | ? | ? |
mined | ![]() [cq] |
![]() [cq] |
Nano | ? | ? |
RTL | Bidi | |
NEdit | ![]() |
![]() |
Notepad | ![]() |
![]() |
Notepad++ | ![]() |
Partial [cr] |
nvi | ? | ? |
Pico | ? | ? |
PolyEdit | ? | ? |
PSPad | ? | ? |
RJ TextEd | ![]() |
![]() |
Sam | ![]() |
![]() |
SciTE | ![]() |
![]() |
SlickEdit | ? | ? |
Smultron | ? | ? |
SubEthaEdit | ![]() |
![]() |
TED Notepad | ? | ? |
TextEdit | ![]() |
![]() |
TextMate | ![]() |
![]() |
TextPad | ? | ? |
TextWrangler | ![]() |
![]() |
The SemWare Editor | ![]() |
![]() |
UltraEdit | ![]() |
![]() |
VEDIT | ? | ? |
vi | ? | ? |
Vim | ![]() |
![]() through terminal support |
Visual Studio Code | ![]() |
![]() |
XEmacs | ? | ? |
XNEdit | ![]() |
![]() |
RTL | Bidi | |
Newline support
Windows (CR/LF) | Unix-like systems (including macOS)[131] (LF) | Classic Mac OS (CR) | |
---|---|---|---|
Acme | ![]() |
![]() |
![]() |
AkelPad | ![]() |
![]() |
![]() |
Alphatk | ![]() |
![]() |
![]() |
Atom | ![]() |
![]() |
![]() |
BBEdit | ![]() |
![]() |
![]() |
Bluefish | ![]() |
![]() |
![]() |
Brackets | ![]() |
![]() |
![]() |
Coda | ![]() |
![]() |
![]() |
ConTEXT | ![]() |
![]() |
![]() |
Crimson Editor | ![]() |
![]() |
![]() |
CudaText | ![]() |
![]() |
![]() |
ed | ![]() |
![]() |
![]() |
Editra | ![]() |
![]() |
![]() |
EmEditor | ![]() |
![]() |
![]() |
Geany | ![]() |
![]() |
![]() |
gedit | ![]() |
![]() |
![]() |
GNU Emacs[cs] | ![]() |
![]() |
![]() |
JED | ![]() |
![]() |
![]() |
jEdit | ![]() |
![]() |
![]() |
JOE[132] | ![]() |
![]() |
![]() |
JOVE | ![]() |
![]() |
![]() |
Kate | ![]() |
![]() |
![]() |
KEDIT | ![]() |
![]() |
![]() |
Komodo Edit | ![]() |
![]() |
![]() |
Komodo IDE | ![]() |
![]() |
![]() |
KWrite | ![]() |
![]() |
![]() |
LE | ![]() |
![]() |
![]() |
Metapad | ![]() |
![]() |
? |
MS-DOS Editor | ![]() |
![]() |
![]() |
mined | ![]() |
![]() |
![]() |
Nano | ![]() |
![]() |
![]() |
NEdit | ![]() |
![]() |
![]() |
Notepad | ![]() |
![]() |
![]() |
Notepad++ | ![]() |
![]() |
![]() |
nvi | ? | ![]() |
? |
Pico | ![]() |
![]() |
![]() |
PolyEdit | ![]() |
![]() |
![]() |
PSPad | ![]() |
![]() |
![]() |
RJ TextEd | ![]() |
![]() |
![]() |
Sam | ? | ? | ? |
SciTE | ![]() |
![]() |
![]() |
SlickEdit | ![]() |
![]() |
![]() |
Smultron | ![]() |
![]() |
![]() |
SubEthaEdit | ![]() |
![]() |
![]() |
Sublime Text | ![]() |
![]() |
![]() |
TED Notepad | ![]() |
![]() |
![]() |
TextEdit | ![]() |
![]() |
![]() |
TextMate | ![]() |
![]() |
![]() |
TextPad | ![]() |
![]() |
![]() |
TextWrangler | ![]() |
![]() |
![]() |
The SemWare Editor | ![]() |
![]() |
![]() |
UltraEdit | ![]() |
![]() |
![]() |
VEDIT | ![]() |
![]() |
![]() |
vi | ![]() |
![]() |
![]() |
Vim | ![]() |
![]() |
![]() |
Visual Studio Code | ![]() |
![]() |
![]() |
XEmacs | ![]() |
![]() |
![]() |
XNEdit | ![]() |
![]() |
![]() |
Windows (CR/LF) | Unix-like systems (including macOS) (LF) | Classic Mac OS (CR) | |
See also
Notes
- last update in OpenBSD repo[29]
- Requires Cygwin or the Windows Subsystem for Linux to run on Windows.
- GEdit, when installed from MacPorts, runs in X11 and, therefore, does not have a native look and feel. However, precompiled native macOS binaries for GEdit may be downloaded from the GEdit project page, or from the GEdit FTP download server.
- gedit, NEdit, and SciTE run in the X11 window environment, and therefore do not use the native Aqua look-and-feel when running on macOS.
- Stand alone NSIS installable package is available
- gedit supports single document window splitting via plug‑ins. Archived 2011-12-14 at the Wayback Machine.
- gedit supports multiple document window splitting via plug‑ins. Archived 2011-12-14 at the Wayback Machine.
- GNU Emacs 27.1 includes built-in support for tab bar (per-frame) and tab-line (per-window). Earlier versions of GNU Emacs can use a tabbed document interface in a non OS-native way using the Tabbar plug‑in.
- GNU Emacs can support a tabbed document interface modelled after GNU Screen using the elscreen Archived 2008-01-17 at the Wayback Machine package.
- Vim version 7 supports a tabbed document interface. Earlier versions can emulate tabs through scripts, for example.[57]
- ConTEXT does not support regular expression backreferences in its search and replace function. Archived 2007-12-18 at archive.today
- ConTEXT only supports converting text to UTF-16. Also, it can only use one type of new-line format if converting to UTF-16.
- Geany supports spell checking via a plug‑in
- gedit supports Regex-based find & replace via plug‑ins ( Archived 2011-12-14 at the Wayback Machine).
- Vim version 7 supports spell checking natively. Earlier versions require a script.[68]
- Alpha Macro support via AppleScript, Tcl or text factories.
- BBEdit Macro support via AppleScript, Perl, Python, Lasso, shell scripts or text factories.
- Cssed Macro support via Python.
- jEdit: Limited by Java heap size.[85]
- Kate: Line length is limited by default. The limit can be removed, but long lines may cause poor performance.[88]
- LE text editor can view and edit large files or their parts in mmap-shared mode
- Emacs: 64-bit compilation on 64-bit OS can handle 2 GB files, otherwise the limit is 512 MiB.
- It is possible to customize all Gedit shortcuts because it is Gtk based.
- The JED base release comes with a basic CUA emulation, but it doesn't bother to bind lots of useful editor features. Also, like some other editors, 1 side of a region must be at the cursor. The main extension collections jedmodes/jed-extra and the "Red Project" have improved versions, tackling the former problem in particular.
- Vim With a script[114]
- JEDs Windows version comes with a pair of scripts that can convert UTF-16 text files (actually anything iconv can convert) to and from JED's internal UTF-8. The Red Project releases include an enhanced version of these scripts.
- TextPad can load and save UTF-8 and UTF-16 text files, but cannot use or even preserve characters outside of the system encoding.[129]
- GNU Emacs
(1) According to a comment in the source file where the bidi support is implemented (http://git.savannah.gnu.org/cgit/emacs.git/tree/src/bidi.c accessed August 15, 2017), GNU Emacs doesn't fully conform to the Unicode Bidirectional Algorithm (Unicode Annex #9, a.k.a. UAX #9) in the way it wraps the lines of a bidi paragraph: "we are violating paragraph 3.4 of UAX#9. which mandates that line breaking shall be done before reordering each screen line separately."
(2) According to the online GNU Emacs manual (section 22.19 Bidirectional Editing, accessed August 15, 2017), for the purpose of changing paragraph direction, "Paragraph boundaries are empty lines, i.e., lines consisting entirely of whitespace character". This contrasts with the otherwise ubiquitous convention of regarding the newline marker (LF on Unix derivatives, including macOS, and CR+LF on Windows) as the paragraph separator in plain text documents. However starting with version 26.0.50, the bidi paragraph separator can be customized. - Notepadpp: Scintilla (Notepad++'s Engine) does not really support bidirectional editing ... Some bidirectional text support added in 4.1.0. https://sourceforge.net/p/scintilla/bugs/757/#01c9
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.