Comparison of text editors
This article may be too long to read and navigate comfortably. (September 2009) |
This article provides basic comparisons for common 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 | Creator | First public release | Latest stable version | Programming language | Cost (US$) | Software license | Open source |
---|---|---|---|---|---|---|---|
Acme | Rob Pike | 1993 | Plan 9 and Inferno | C | Free | LPL (OSI approved) | Yes |
AkelPad | Alexey Kuznetsov, Alexander Shengalts | 2003 | 4.8.0 | C | Free | BSD | Yes |
Alphatk | Vince Darley | 1999 | 8.3.3 | $40 | Proprietary, with BSD components | No | |
Aquamacs | David Reitter | 2005 | 2.4 | C, Emacs Lisp | Free | GPL | Yes |
BBEdit | Rich Siegel | 1992-04 | 10.5.1 | $49.99 | Proprietary | No | |
Bluefish | Bluefish Development Team | 1999 | 2.2.2 | C | Free | GPL | Yes |
ConTEXT | ConTEXT Project Ltd | 1999 | 0.98.6 | Object Pascal (Delphi) | Free | BSD | Yes |
Crimson Editor | Ingyu Kang, Emerald Editor Team | 1999 | 3.72 | C | Free | GPL | Yes |
Diakonos | Pistos | 2004 | 0.9.1 | Ruby | Free | GPL | Yes |
E Text Editor | Alexander Stigsen | 2005 | 2.0.2 | $46.95 | Proprietary, with BSD components | No | |
ed | Ken Thompson | 1970 | unchanged from original | C | Free | ? | Yes |
EditPlus | Sangil Kim | 1998 | 3.50 | $35 | Shareware | No | |
Editra | Cody Precord | 2007 | 0.6.77 | Python | Free | wxWindows license | Yes |
EmEditor | Emurasoft, Inc. | 1997 | 10.0.1 | $39.99 1-user | Shareware | No | |
epsilon | Lugaru Software | 1984 | 13.06 | C | $250 | Proprietary | No |
gedit | GNU Project | 2000 | 3.2.2 | C | Free | GPL | Yes |
Geany | Enrico Tröger | 2005 | 1.22 | C, GTK2 | Free | GPL | Yes |
GNU Emacs | Richard Stallman | 1984 | 24.1 | C, Emacs Lisp | Free | GPL | Yes |
Gobby | 0x539 dev group | 2005 | 0.4.12 | C++ | Free | GPL | Yes |
JED | John E. Davis | 1992 | 0.99-19 | C | Free | GPL | Yes |
jEdit | Slava Pestov | 1998 (?) | 4.4.1 | Java | Free | GPL | Yes |
JOE | Joseph Allen | 1988 | 3.7 | C | Free | GPL | Yes |
Kate | KDE Project | 2000-12 | 3.5.3 | C++ | Free | GPL | Yes |
KEDIT | Mansfield Software Group, Inc. | 1983 | 1.6 | $129 | Proprietary | No | |
Komodo Edit | Activestate | open-sourced 2007 | 7 | Python, JavaScript, Perl, Tcl, PHP, Ruby | Free | MPL, GPL, LGPL | Yes |
Komodo IDE | Activestate | 2007 | 7 | Python, JavaScript, Perl, Tcl, PHP, Ruby | $295 | Proprietary | No |
KWrite | KDE Project | 2000 | 4.4.5 | C++ | Free | GPL | Yes |
LE | Alexander V. Lukyanov | 1997 | 1.14.5 | C++ | Free | GPL | Yes |
Metapad | Alexander Davidson | 2011 | 3.6 | C | Free | GPL | Yes |
MinEd | Thomas Wolff | 1992 | 2011.17 | C | Free | GPL | Yes |
MS-DOS Editor | Microsoft | 1991 | 2.0.026 | Bundled with MS-DOS and Microsoft Windows | Proprietary | No | |
Nano | Chris Allegretta | 1999 | 2.2.6 | C | Free | GPL | Yes |
ne | Sebastiano Vigna, Todd Lewis, Daniele Filaretti | 1993 | 2.5 | C | Free | GPL | Yes |
NEdit | Mark Edel | 1991 | 5.5 | C | Free | GPL | Yes |
Notepad | Microsoft | 1985 | 6.0 | MASM (originally) | Bundled with Microsoft Windows | Proprietary | No |
Notepad++ | Don Ho | 2003-11-25 | 6.3 | C++ | Free | GPL | Yes |
Notepad2 | Florian Balmer | 2004-04 | 4.1.24 | C++ | Free | BSD | Yes |
NoteTab | Eric Fookes, Fookes Software | 1995 | 6.20 | Object Pascal (Delphi) | Free, $10 Standard, $20 Pro | Proprietary | No |
NoTex | Hasan Karahan, Blackhan.ch | 2012 | 1.0 | JavaScript & Python | Free | GPL | Yes |
nvi | Keith Bostic | ? | 1.79 | C | Free | BSD | Yes |
Pico | University of Washington | ? | 4.64 | Free | Proprietary | No | |
PolyEdit | PolySoft Solutions | 1998 | 5.0 Preview Release | $27.95 | Shareware | No | |
Programmer's Notepad | Simon Steele | 1998 | 2.3 | C++ | Free | BSD | Yes |
PSPad | Jan Fiala | 2002 | 4.5.6 | Object Pascal (Delphi) | Free | Proprietary | No |
Q10 | Baara Estudio | 2007 | 1.2.21 | ? | Free | Proprietary | No |
RJ TextEd | Rickard Johansson | 2004 | 8.42 | Object Pascal (Delphi) | Free | Proprietary | No |
RText | Fifesoft | 2003 | 1.1.0 | Java | Free | GPL | Yes |
SciTE | Neil Hodgson | 1999-03 | 2.21 | C++ | Free | HPND | Yes |
skEdit | Sean Kelly, skti | 2002 | 3.6.1 | $24.95 for lifetime | Proprietary | No | |
SlickEdit | SlickEdit, Inc. | 1988 | 16.0.0 | C, Slick-C | $299 | Proprietary | No |
Smultron | Peter Borg | 2004 | 3.8 | Objective-C | $5 | Proprietary | No |
Source Insight | Source Dynamics | ? | 3.50.0065 | Source Insight macro language | $239-$255 | Proprietary | No |
SubEthaEdit | TheCodingMonkeys | 2003 | 3.5.2 (3294) | $35 commercial use | Proprietary | No | |
Sublime Text | Jon Skinner | 2008 | 2126 | C++ | $59 commercial use | Proprietary | No |
TED Notepad | Juraj Simlovic | 2001 | 5.4.2 | C | Free | Freeware | No |
TextEdit | Apple Inc. | 2001 | 1.7 | Free, bundled with OS X | New BSD | Yes | |
TextMate | MacroMates | 2004-10-10 | 1.5.7 | Objective-C++ | €39 | Proprietary, with MIT components. Version 2 released under GPLv3 | Yes (From version 2) |
TextPad | Helios Software Solutions | 1992 | 6.2.2 | $30.00 (£16.50) | Shareware | No | |
TextWrangler | Bare Bones Software | 2003 | 4.0.1 | Free | Proprietary | No | |
The SemWare Editor | Sammy Mitchell | 1985-11 | 4.4 | C, SAL | $99 | Proprietary | No |
Tincta | Mr. Fridge Software | 2011 | 2.0 | Objective-C | Free | Proprietary | No |
Tincta Pro | Mr. Fridge Software | 2011 | 2.0 | Objective-C | $15.99 | Proprietary | No |
UltraEdit | IDM Computer Solutions | 1994 | 18.00 | $59.95 | Proprietary | No | |
VEDIT | Ted Green, Greenview Data | 1980 | 6.21 | Assembly, C | $89 standard, $239 Pro64 | Proprietary | No |
Vim | Bram Moolenaar | 1991 | 7.3 | C, Vimscript | Free | GPL compatible | Yes |
XEmacs | Lucid Inc. | 1991 | 21.4.22 | C, Emacs Lisp | Free | GPL | Yes |
Yi | Don Stewart | 2005 | 0.6.6 | Haskell | Free | GPL | Yes |
Name | Creator | First public release | Latest stable version | Programming language | Cost (US$) | Software license | Open source |
Operating system support
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
Windows | OS X | Linux | BSD | Unix | OpenVMS | |
---|---|---|---|---|---|---|
Acme | Yes | Yes | Yes | Yes | Yes | No |
Alphatk | Yes | Yes | Yes | Yes | Yes | Yes |
Bluefish | Yes | Yes | Yes | Yes | Yes | Yes |
Diakonos | Yes | Yes | Yes | Yes | Yes | No |
DiffPlug | Yes | No | No | No | No | No |
ed | Yes | Yes | Yes | Yes | Yes | Yes |
Editra | Yes | Yes | Yes | ? | ? | ? |
epsilon | Yes | Yes[1] | Yes | Yes | Yes | No |
Geany | Yes | Yes | Yes | Yes | Yes | Yes |
gedit | Yes | Yes[2] | Yes | Yes | Yes | No |
GNU Emacs | Yes | Yes | Yes | Yes | Yes | Yes |
Gobby | Yes | Yes | Yes | Yes | Yes | No |
JED | Yes | Yes | Yes | Yes | Yes | Yes |
jEdit | Yes | Yes | Yes | Yes | Yes | No |
JOE | Partial[3] | Yes | Yes | Yes | Yes | No |
Kate | Partial[4] | Yes | Yes | Yes | Yes | No |
KEDIT | Yes | No | Yes | Yes | No | No |
Komodo Edit | Yes | Yes | Yes | Yes | ? | ? |
KWrite | Yes | Yes | Yes | Yes | Yes | No |
LE | Partial[3] | Yes | Yes | Yes | Yes | No |
MinEd | Yes | Yes | Yes | Yes | Yes | ? |
Nano | Yes | Yes | Yes | Yes | Yes | No |
NEdit | Partial[3] | Yes[5] | Yes | Yes | Yes | Yes |
ne | Partial[3] | Yes | Yes | Yes | Yes | No |
nvi | No | Yes | Yes | Yes | Yes | No |
Pico | No | Yes | Yes | Yes | Yes | Yes |
RText | Yes | Yes | Yes | Yes | Yes | No |
SciTE | Yes | Yes[5] | Yes | Yes | Yes | No |
SlickEdit | Yes | Yes[5] | Yes | No | Yes | No |
Sublime Text | Yes | Yes | Yes | No | No | No |
UltraEdit | Yes | Yes | Yes | No | No | No |
Vim | Yes | Yes | Yes | Yes | Yes | Yes |
XEmacs | Yes | Yes | Yes | Yes | Yes | Yes |
Yi | Partial | Yes | Yes | Yes | Yes | No |
Windows | OS X | Linux | BSD | Unix | OpenVMS |
Java-based
Windows-only
- AkelPad
- ConTEXT
- Crimson Editor
- E Text Editor
- EditPlus
- EmEditor
- Metapad
- MS-DOS Editor
- Notepad[6]
- Notepad2[6]
- Notepad++[6]
- NoteTab
- PolyEdit
- Programmer's Notepad
- PSPad
- Q10
- RJ TextEd
- Source Insight
- TED Notepad
- TextPad
- The SemWare Editor[7]
- VEDIT
Mac-only
- Aquamacs
- BBEdit
- Coda (web development software)
- Kod
- skEdit
- Smultron
- SubEthaEdit
- TextEdit
- TextMate
- TextWrangler
- Tincta
Natural language (localization)
English | German | French | Polish | Korean | Japanese | Italian | Dutch | Portuguese | Spanish | Swedish | Total | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Acme | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
AkelPad | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | 20 |
Alphatk | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Aquamacs | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
BBEdit | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
Bluefish | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | 26 |
ConTEXT | Yes | Yes | Yes | Yes | ? | No | Yes | Yes | Yes | Yes | No | 22 |
Crimson Editor | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
Diakonos | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
E Text Editor | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ed | No | No | No | No | No | No | No | No | No | No | No | |
EditPlus | Yes | No | ? | ? | Yes | ? | ? | ? | ? | ? | ? | 2 |
Editra | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | 24 |
EmEditor | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes | No | 12 |
epsilon | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
gedit | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 82 |
Geany | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | 21 |
GNU Emacs | Yes | No | No | No | No | No | No | No | No | No | No | 1 |
Gobby | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 20 |
JED | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
jEdit | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
JOE | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | 4 |
Kate | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | 50 fully / 18 mostly [7] |
KEDIT | Yes | No | No | No | No | No | No | No | No | No | No | 1 |
Komodo Edit | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
KWrite | Yes | Yes | ? | ? | ? | ? | Yes | ? | ? | Yes | Yes | 5 |
Metapad | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 33 [8] |
mined | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
MS-DOS Editor | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 11 |
Nano | Yes | ? | Yes | ? | ? | ? | Yes | ? | Yes | ? | ? | 4 |
NEdit | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Notepad | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 11 |
Notepad++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 43 |
Notepad2 | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | Yes | Yes | 6 |
NoteTab | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
nvi | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Pico | Yes | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | 2 |
PolyEdit | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Programmer's Notepad | Yes | Yes | No | No | No | No | No | No | No | Yes | No | 7 |
PSPad | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | 36 |
RJ TextEd | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | 18 |
Q10 | Yes | Yes | ? | ? | ? | ? | Yes | Yes | Yes | Yes | ? | 6 |
RText | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 17 |
SciTE | Yes | Yes | Outdated (1.72) | Yes | ? | Outdated (1.62) | Yes | Outdated (1.67) | Outdated (1.63) | Yes | Yes | 39 [9] |
skEdit | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SlickEdit | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Smultron | Yes | Yes | Yes | No | ? | Yes | Yes | Yes | No | Yes | Yes | 13 |
Source Insight | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SubEthaEdit | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
TED Notepad | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
TextEdit | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | 18 |
TextMate | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
TextPad | Yes | Yes | Yes | Outdated (4.7.3) | ? | Yes | Outdated (4.7.3) | Outdated (4.7.3) | Outdated (4.7.3) | Outdated (4.7.3) | No | 9 |
TextWrangler | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
The SemWare Editor | Yes | No | No | No | No | No | No | No | No | No | No | 1 |
Tincta | Yes | No | No | No | No | No | No | No | No | No | No | 1 |
UltraEdit | Yes | Yes | Yes | No | Yes | No | Yes | No | No | Yes | No | 7 |
VEDIT | Yes | No | No | No | ? | No | No | No | No | No | No | 1 |
Vim | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 25 |
XEmacs | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Yi | Yes | No | No | No | No | No | No | No | No | No | No | 1 |
English | German | French | Polish | Korean | Japanese | Italian | Dutch | Portuguese | Spanish | Swedish | Total |
Document interface
Multiple instances | Single document window splitting | MDI: overlappable windows | MDI: tabbed document interface | MDI: window splitting | |
---|---|---|---|---|---|
Acme | Yes | Yes | No | Yes | Yes |
AkelPad | Yes | Yes | Yes | Yes | Yes |
Alphatk | Yes | Yes | Yes | Yes | Yes |
Aquamacs | Yes | Yes | Yes | Yes | Yes |
BBEdit | Yes | Yes | Yes | Yes | Yes |
Bluefish | Yes | Yes | Yes | Yes | No |
ConTEXT | Yes | No | Yes | Yes | No |
Crimson Editor | Yes | Yes | Yes | Yes | Yes |
Diakonos | Yes | No | No | No | No |
E Text Editor | Yes | No | No | Yes | Yes |
ed | Yes | No | No | No | No |
EditPlus | Yes | Yes | Yes | Yes | Yes |
Editra | Yes | ? | ? | ? | ? |
EmEditor | Yes | Yes | Yes | Yes | Yes |
Geany | Yes | No | No | Yes | No |
gedit | Yes | Plugin [8] | Yes | Yes | Plugin [9] |
GNU Emacs | Yes | Yes | Yes | Plugin [10] [11] | Yes |
Gobby | Yes | No | No | Yes | No |
JED | Yes | Yes | No | No | Yes |
jEdit | Yes | Yes | No | Yes | Yes |
JOE | Yes | Yes | No | No[12] | Yes |
Kate | Yes | Yes | Yes | Yes | Yes |
KEDIT | No | No | Yes | No | No |
Komodo Edit | No | Yes | No | Yes | Yes |
KWrite | Yes | No | No | No | No |
LE | Yes | No | No | No | No |
Metapad | Yes | No | No | No | No |
mined | Yes | No | No[13] | No | No |
MS-DOS Editor | Yes | Yes | No | No | Yes |
Nano | Yes | No | No | No | No |
NEdit | Yes | Yes | No | Yes | Yes |
Notepad | Yes | No | No | No | No |
Notepad++ | Yes | Yes | No | Yes | 2 windows |
Notepad2 | Yes | No | No | No | No |
NoteTab | Yes | ? | No | Yes | 2 windows |
nvi | Yes | Yes | No | No | No |
Pico | Yes | No | No | No | No |
PolyEdit | No | No | Yes | Yes | Yes |
Programmer's Notepad | Yes | Yes | Yes | Yes | Yes |
PSPad | Yes | Yes | Yes | Yes | Yes |
Q10 | No | No | No | No | No |
RJ TextEd | Yes | Yes | Yes | Yes | Yes |
RText | Yes | No | Yes | Yes | No |
SciTE | Yes | No | No | Yes[14] | No |
skEdit | Yes | Yes | No | Yes | No |
SlickEdit | Yes | Yes | Yes | Yes | Yes |
Smultron | Yes | Yes | No | Yes | Yes |
Source Insight | Yes | Yes | Yes | No | No |
SubEthaEdit | Yes | Yes | No | Yes | No |
TED Notepad | ? | ? | ? | ? | ? |
TextEdit | Yes | No | No | No | No |
TextMate | Yes | No | No | Yes | No |
TextPad | Yes | Yes | Yes | Yes | Yes |
TextWrangler | Yes | Yes | Yes | Yes | Yes |
The SemWare Editor | Yes | Yes | No | No | Yes |
UltraEdit | Yes | Yes | Yes | Yes | Yes |
VEDIT | Yes | Yes | Yes | Yes | Yes |
Vim | Yes | Yes | Yes[15] | Yes[16] | Yes |
XEmacs | Yes | Yes | Yes | Yes | Yes |
Yi | Yes | Yes | Yes | Yes | Yes |
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 | |
---|---|---|---|---|---|---|
Acme | Yes | Yes | Yes | Yes | Yes | No |
AkelPad | Plugin | Yes | Yes | Yes | Yes | Yes |
Alphatk | Yes | Yes | Yes | Yes | Yes | Yes |
Aquamacs | Yes | Yes | Yes | Yes | Yes | Yes |
BBEdit | Yes | Yes | Yes | Yes | Yes | Yes |
Bluefish | Yes | Yes | Yes | Yes | Yes | No |
Coda | Yes | Some[10] | Yes | Yes | Yes | ? |
ConTEXT | No | Partial[17] | Partial[18] | Yes | Yes | Yes |
Crimson Editor | Instant/live (like Firefox) | Yes | Yes | Yes | Yes | Yes |
Diakonos | Yes[19] | Yes | No | No | Yes | Yes |
E Text Editor | Plugin[20] | Yes | Yes | Yes | Yes | Yes |
ed | No | Yes | No | No | No | No |
EditPlus | Yes | Yes | Yes | Yes | Yes | Yes |
Editra | ? | Yes | ? | ? | ? | ? |
EmEditor | Yes | Yes | Yes | Yes | Yes | Yes |
Geany | Plugin[21] | Yes | Yes | Yes | Yes | Yes |
gedit | Yes[22] | Plugin[23] | Yes | Yes | Yes | Via plug-in[24] |
GNU Emacs | Plugin [25] | Yes | Yes | Yes | Yes | Yes |
Gobby | No | No | Partial | Partial | No | No |
JED | Yes | Yes | Yes | Yes | Yes | Yes |
jEdit | Plugin[26] | Yes | Yes | Yes | Yes | Yes |
JOE | Plugin[27] | Partial[28] | No[29] | Yes | Yes | Yes |
Kate | Yes | Yes | Yes | Yes | Yes | Yes |
KEDIT | No | Yes | No | Yes | Yes | Yes |
Komodo Edit | Yes | Yes | Yes | Yes | Yes | Yes |
KWrite | Yes | Yes | Yes | Yes | Yes | Yes |
LE | No | Yes | No[30] | Yes | Yes | Yes |
Metapad | Partial[31] | No | Yes | Yes | Yes | No |
MinEd | No | Yes[32] | Yes[32] | Yes[33] | No | Yes |
MS-DOS Editor | No | No | No | Yes | No | No |
Nano | Yes | Yes | No | Yes | Yes | No |
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection | |
NEdit | Plugin[34] | Yes | No | Yes | Yes | Yes |
Notepad | No | No | No | No | No | No |
Notepad++ | Plugin, on-demand only[35] | Yes | Yes | Yes | Yes | Yes |
Notepad2 | No | Limited[36] | Yes | Yes | Yes | Yes |
NoteTab | Yes | Yes | Yes | Yes | Yes | Yes |
nvi | No | Yes | No | No | Yes | ? |
Pico | Yes | No | No | No | Yes | ? |
PolyEdit | Yes | Yes | Yes | Yes | Yes | Yes |
Programmer's Notepad | No | Yes | Yes[37] | Yes[37] | Yes | Yes |
PSPad | Yes | Yes | Yes | Yes | Yes | Yes |
Q10 | Yes | ? | ? | ? | ? | ? |
RJ TextEd | Yes | Yes | Yes | Yes | Yes | Yes |
RText | Yes | Yes | Yes | Yes | Yes | No |
SciTE | No | Limited[36] | No | Yes | Yes | Yes |
skEdit | Yes | Yes | Yes | Yes | Yes | Yes |
SlickEdit | Yes | Yes | Yes | Yes | Yes | Yes |
Smultron | Yes | Yes | Yes | Yes | Yes | Yes |
Source Insight | No | Yes | No | Yes | Yes | Yes |
SubEthaEdit | Yes | Yes | Yes | Yes | Yes | Yes[38] |
TED Notepad | No | No | No | Yes | Yes | No |
TextEdit | Yes | No | Yes | Yes | Yes | Yes |
TextMate | Yes | Yes | Partial | Yes | Yes | Yes |
TextPad | Yes | Yes | Yes | Yes | Yes | Yes |
TextWrangler | Yes | Yes | Yes | Yes | Yes | Yes |
The SemWare Editor | Yes | Yes | No | Yes | Yes | Yes |
Tincta | Yes | No | Yes | Yes | Yes | Yes |
Tincta Pro | Yes | Yes | Yes | Yes | Yes | Yes |
UltraEdit | Yes | Limited[39] | Yes | Yes | Yes | Yes |
VEDIT | Yes[40] | Yes | Yes | Yes | Yes | Yes |
Vim | Yes[41] | Yes | Yes | Yes | Yes | Yes |
XEmacs | Plugin [25] | Yes | Yes | Yes | Yes | Yes |
Yi | ? | Yes | ? | ? | Yes | Yes |
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection |
Programming features
Syntax highlighting | Function list | Symbol database (ctags or equiv.) |
Brace matching | Auto indentation | Auto completion | Code folding | Text folding | Compiler integration | |
---|---|---|---|---|---|---|---|---|---|
Acme | No | Yes | Yes | Yes | Yes | Yes | No | No | Yes |
AkelPad | Plugin | Plugin | Plugin | Plugin | Yes | Plugin | Plugin | No | Plugin |
Alphatk | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes |
Aquamacs | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
BBEdit | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Bluefish | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes[42] |
ConTEXT | Yes | ? | ? | Yes | Yes | Yes | No | No | Yes |
Crimson Editor | Yes | No | Partial[43] | Yes | Yes | No | No | No | Yes |
Diakonos | Yes | ? | Partial | Yes | Yes | Yes | No | No | No |
E Text Editor | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes |
ed | No | No | No | No | No | No | No | No | No |
EditPlus | Yes | Yes[44] | Partial[43] | Yes | Yes | Yes[45] | Yes | No | Yes |
Editra | Yes | ? | ? | Yes | Yes | ? | Yes | ? | ? |
EmEditor | Yes | Plugin | Plugin | Yes | Yes | Plugin [46] | Yes | Yes | Yes |
Geany | Yes | Yes | Yes[47] | Yes | Yes | Yes | Partial | No | Yes |
gedit | Yes | Plugin | Plugin | Yes | Yes | Plugin | No | Plugin[48] | Yes[49] |
GNU Emacs | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Gobby | Yes | No | No | Yes | Yes | No | No | No | No |
JED | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
jEdit | Yes | Plugin | Plugin | Yes | Yes | Yes | Yes | Yes | Plugin |
JOE | Yes | ? | Yes | Yes | Yes | ? | No | No | Yes |
Kate | Yes | Plugin | Plugin | Yes | Yes | Yes | Yes | Yes | Plugin |
KEDIT | Yes | ? | Macro | Yes | Yes | No | Yes | Yes | Yes |
Komodo Edit | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No |
KWrite | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | No |
LE | Yes | No | No | Yes | Yes | No | No | No | No[50] |
Metapad | No | No | No | No | Yes | No | No | No | No |
mined | Yes[51] | ? | Yes | Yes | Yes | No | No | No | No |
MS-DOS Editor | No | No | No | No | No | No | No | No | No |
Nano | Yes | No | No | Yes | Yes | No | No | No | No |
Syntax highlighting | Function list | Symbol database (ctags or equiv.) |
Bracket matching | Auto indentation | Auto completion | Code folding | Text folding | Compiler integration | |
NEdit | Yes | Plugin | Yes | Yes | Yes | Plugin | No | No | Yes |
Notepad | No | No | No | No | No | No | No | No | No |
Notepad++ | Yes | Plugin | Plugin | Yes | Yes | Yes[52] | Yes | Yes | Yes |
Notepad2 | Yes | No | No | Yes | Yes | No | No | No | No |
NoteTab | Partial[53] | ? | ? | No | ? | Yes | ? | ? | Yes |
nvi | No | ? | Yes | Yes | Yes | Yes | No | No | No |
Pico | No | No | No | No | No | No | No | No | No |
PolyEdit | Yes | No | No | No | No | No | No | No | No |
Programmer's Notepad | Yes | Yes | Yes | Yes[54] | Yes[54] | Yes | Yes[54] | No | Yes[54] |
PSPad | Yes | Yes | Plugin | Yes | Yes | Yes | No | No | Yes |
Q10 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
RJ TextEd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
RText | Yes | plugin | No | Yes | Yes | No | No | No | No |
SciTE | Yes | No[55] | ? | Yes | Yes | Yes | Yes | Yes | Yes |
skEdit | Yes | ? | No | Yes | Yes | Yes | No | No | No |
SlickEdit | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Smultron | Yes | No | No | Yes | Yes | Yes | ? | ? | ? |
Source Insight | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Limited |
SubEthaEdit | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes |
Sublime Text | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
TED Notepad | No | ? | ? | No | Yes | Yes | No | No | No |
TextEdit | No | No | No | No | No | No | No | No | No |
TextMate | Yes | Yes | Plugin | Yes | Yes | Yes[56] | Yes | Yes | No |
TextPad | Yes | No | Plugin [57] | Yes | Yes | No | No | No | Yes |
TextWrangler | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Plugin [58] |
The SemWare Editor | Yes | Yes | Plugin [59] | Yes | Yes | Yes[60] | Partial[61] | No | Yes |
UltraEdit | Yes | Yes | Partial[62] | Yes | Yes | Yes | Yes | Yes | Yes |
VEDIT | Yes | Yes | Yes | Yes | Yes | Yes[63] | No | No | Yes |
Vim | Yes | Plugin [64] | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
XEmacs | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Yi | Yes[65] | No | Yes[66] | Yes | Yes | Yes | ? | ? | Yes |
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. (Needs clarification?)
- 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
Text shell integration | Graphical shell integration | Macro language | Collaborative editing | Large file support | Multi-line regex support[67] | Search in files | |
---|---|---|---|---|---|---|---|
Acme | Yes | No | Yes | No | ? | Yes | ? |
AkelPad | Yes | Yes | Yes | No | memory | Yes | ? |
Alphatk | Yes | Yes | Yes[68] | No | ? | ? | ? |
Aquamacs | Yes | Yes | Yes | Yes | memory | Yes | ? |
BBEdit | Yes | Yes | Yes[69] | No | memory[70] | Yes | ? |
Bluefish | No | Yes | ? | Yes | ? | Yes | ? |
ConTEXT | No | Yes | Yes | No | memory[71] | No | ? |
Crimson Editor | No | Yes | Yes | No | No | No | ? |
Diakonos | No | No | Yes | No | ? | Yes | ? |
E Text Editor | Yes | Yes | No[72] | Yes | Yes | Yes | ? |
ed | No | No | No | No | ? | ? | Yes |
EditPlus | ? | Yes | Yes | No | memory | Yes | Yes |
Editra | ? | ? | ? | ? | 2GB | ? | ? |
EmEditor | Yes | Yes | Yes | No | Yes | Yes | ? |
Geany | Yes | ? | ? | ? | ? | ? | ? |
gedit | Yes | Yes | Yes[73] | Plugin | No | No | No |
GNU Emacs | Yes | Yes | Yes | Yes | on 64bit OS[74] | Yes | Yes |
Gobby | ? | Yes | No | Yes | ? | No | ? |
JED | Yes | No | Yes | No | memory[75] | ? | ? |
jEdit | Yes | No | Yes | No | No (heap)[76] | Yes | ? |
JOE | Yes | No | Yes | No | Yes | ? | ? |
Kate | Yes | Yes | No | No | No[77] | No | ? |
KEDIT | Yes | Yes | Yes | No | Yes | Yes | ? |
Komodo Edit | ? | ? | Yes | No | ? | Yes | ? |
KWrite | No | No | No | No | No[77] | No | ? |
LE | Yes | No | No | No[78] | memory[79] | Yes | ? |
Metapad | Yes | Yes | No | No | memory[80] | No | ? |
mined | ? | ? | ? | ? | ? | Yes | ? |
MS-DOS Editor | No | No | No | No | No (~300 KB) | No | No |
Nano | Yes | No | No | No | ? | ? | ? |
Text shell integration | Graphical shell integration | Macro language | Collaborative editing | Large file support | Multi-line regex support | Search in files | |
NEdit | Yes | Yes | Yes | No | No | Yes | ? |
Notepad | Yes | Yes | No | No | memory | No | No |
Notepad++ | Yes | Yes | Yes | with plugin | No[81] | Yes | Yes |
Notepad2 | No | No | No | No | memory[82] | No | ? |
NoteTab | ? | ? | Yes | ? | No | Yes[83] | ? |
nvi | Yes | No | No | ? | ? | ? | ? |
Pico | ? | ? | ? | No | ? | ? | ? |
PolyEdit | Yes | Yes | No | No | Yes | Yes | ? |
Programmer's Notepad | No | Yes | Yes[73] | No | slow[84] | Yes | ? |
PSPad | Yes | Yes | Yes | No | memory[85] | with plugin | Yes |
Q10 | ? | ? | ? | ? | ? | ? | ? |
RJ TextEd | Yes | Yes | Yes | No | No | Yes | ? |
RText | No | No | Yes | No | No | Yes | ? |
SciTE | ? | ? | Yes | No | No | No | ? |
skEdit | Yes | Yes | No | Yes[86] | ? | ? | ? |
SlickEdit | Yes | Yes | Yes | No | 2 GB | Yes | Yes |
Smultron | ? | ? | ? | ? | ? | ? | ? |
Source Insight | ? | ? | Yes | No | ? | No | ? |
SubEthaEdit | Yes | Yes | No | Yes | ? | Yes | ? |
TED Notepad | Yes | Yes | No | No | No | ? | ? |
TextEdit | Yes | Yes | No | No | ? | ? | ? |
TextMate | Yes | Yes | Yes | No | No | Yes | ? |
TextPad | No | Yes | Yes | No | memory[87] | Yes | Yes |
TextWrangler | Yes | Yes | Yes | No | memory[70] | Yes | ? |
The SemWare Editor | Yes | Yes | Yes | No | 2 GB | No | ? |
UltraEdit | Yes | Yes | Yes | No | Yes | Yes | Yes |
VEDIT | Yes | Yes | Yes | No | Yes | Yes | Yes |
Vim | Yes | Yes | Yes | No | Yes | Yes | Yes |
XEmacs | Yes | Yes | Yes | Yes | on 64bit OS[74] | Yes | Yes |
Text shell integration | Graphical shell integration | Macro language | Collaborative editing | Large file support | Multi-line regex support | Search in files |
Large file support:
Yes | = Larger than 4GB (LFS) | 2GB | = Larger than 1GB, not limited by memory |
memory | = Limited by available memory | No (64k) | = 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.[88]
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
Support for custom key bindings.
Dynamically customizable | IBM CUA | OS X | Vi | Emacs | Pico | WordStar | WordPerfect | Brief | |
---|---|---|---|---|---|---|---|---|---|
Acme | No | ? | No | No | No | No | ? | ? | ? |
AkelPad | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Alphatk | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Aquamacs | Yes | ? | Yes | Yes | Yes | ? | ? | ? | ? |
BBEdit[89][90] | Yes | ? | Yes | ? | Yes | ? | ? | ? | ? |
Bluefish | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
ConTEXT | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Crimson Editor | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Diakonos | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
E Text Editor | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ed | No | No | No | No | No | No | No | No | No |
EditPad Lite | No | ? | No | No | No | No | ? | ? | ? |
Editra | ? | ? | ? | ? | ? | ? | ? | ? | ? |
EmEditor | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Geany | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
gedit | Yes[91] | ? | ? | ? | ? | ? | ? | ? | ? |
GNU Emacs | Yes | Yes | No | Yes | Yes | Partial[92] | Yes[93] | ? | ? |
Gobby | No | ? | No | No | No | No | ? | ? | ? |
JED | Yes | ? | ? | Yes | Yes | ? | Yes | ? | Yes |
jEdit | Yes | ? | Yes | Yes | ? | ? | ? | ? | ? |
JOE | ? | ? | ? | ? | Yes | Yes | ? | ? | ? |
LE | Yes | ? | ? | No | ? | ? | ? | ? | ? |
Kate | Yes | ? | ? | Yes[94] | ? | ? | ? | ? | ? |
KEDIT | Yes | ? | No | No | No | No | ? | ? | ? |
Komodo Edit | Yes | ? | ? | Yes | Yes | ? | ? | ? | ? |
KWrite | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Metapad | ? | ? | ? | ? | ? | ? | ? | ? | ? |
mined | ? | ? | ? | ? | Yes | Yes | Yes | ? | ? |
MS-DOS Editor | No | No | No | No | No | No | No | No | No |
Nano | Yes | No | ? | ? | Partial[95] | Yes | No | ? | ? |
NEdit | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Notepad | No | Yes | No | No | No | No | No | No | No |
Notepad++ | Partial | Yes | No | No | No | No | No | No | No |
Notepad2 | No | ? | No | No | No | No | ? | ? | ? |
NoteTab | ? | ? | ? | ? | ? | ? | ? | ? | ? |
nvi | ? | ? | ? | Yes | ? | ? | ? | ? | ? |
Pico | No | No | No | No | Partial[95] | Yes | No | No | No |
PolyEdit | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Programmer's Notepad | Partial | ? | ? | Partial[96] | ? | ? | ? | ? | ? |
PSPad | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Q10 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
RJ TextEd | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
RText | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
SciTE | Partial[97] | ? | ? | No | No | No | ? | ? | ? |
skEdit | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SlickEdit | Yes[98] | Yes | Yes[99] | Partial[100] | Yes | No | No | No | Yes |
Smultron | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Source Insight | Yes | ? | No | No | No | No | ? | ? | ? |
SubEthaEdit | ? | ? | ? | ? | ? | ? | ? | ? | ? |
TED Notepad | ? | ? | ? | ? | ? | ? | ? | ? | ? |
TextEdit | No | ? | Yes | No | No | No | ? | ? | ? |
TextMate | ? | ? | Yes | No | No | No | ? | ? | ? |
TextPad | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
TextWrangler[89][101] | Yes | ? | Yes | No | Yes | No | ? | ? | ? |
The SemWare Editor | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
UltraEdit | Yes | ? | No | ? | ? | ? | ? | ? | ? |
VEDIT | Yes | Yes | No | No[102] | No | No | Yes | Yes | Yes |
Vim | Partial | No | ? | Yes[103] | Partial[104] | ? | ? | ? | ? |
XEmacs | Yes | No | No | Yes | Yes | Partial[92] | ? | ? | ? |
Yi | Yes | ? | Yes | Yes | Yes | No | ? | ? | ? |
Dynamically customizable | IBM CUA | OS X | 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>. References: unable to map ctrl-1 , How to map (say) Ctrl-Shift-B
- 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.
- Programmer's Notepad: keybindings of Shift-<char> can be set, but a bug executes the command and inserts the literal character.
- Emacs and Pico: pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc.
Protocol support
Native internal support for editing files over a network or the internet.
FTP | HTTP | SSH | WebDAV | |
---|---|---|---|---|
Acme | Yes | Yes | Yes | Yes |
AkelPad | No | No | No | No |
Alphatk | Yes | No | No | Yes |
Aquamacs | Yes | Yes | Yes | Yes[105] |
BBEdit | Yes | No | Yes | No |
Bluefish | Yes | Yes | Yes | Yes |
Coda | FTP, SFTP, FTP+SSL | ? | Yes | Yes |
ConTEXT | No | ? | No | ? |
Crimson Editor | Yes | No | No | No |
Diakonos | No | No | No | No |
E Text Editor | Yes | No | No | No |
ed | No | No | No | No |
EditPlus | Yes | No | No | No |
Editra | ? | ? | ? | ? |
EmEditor | No | No | No | No |
Geany | No | No | No | No |
gedit | Yes | Yes | Yes | Yes |
GNU Emacs | Yes | Yes | Yes | Yes |
Gobby | No | No | No | No |
JED | No | No | No | No |
jEdit | Plugin[106] | Yes[107] | No | Plugin. |
JOE | No | No | No | No |
LE | No | No | No | No |
Kate | Yes | Yes | Yes | Yes |
KEDIT | No | No | No | No |
Komodo IDE | SFTP | No | Yes | No |
KWrite | Yes | Yes | Yes | Yes |
Metapad | No | No | No | No |
mined | ? | ? | ? | ? |
MS-DOS Editor | No | No | No | No |
Nano | No | No | Yes | No |
FTP | HTTP | SSH | WebDAV | |
NEdit | No | No | No | No |
Notepad | No | No | No | No |
Notepad++ | Plugin for FTP, FTPS, FTPES, SFTP | No | No | No |
Notepad2 | No | No | No | No |
NoteTab | No | ? | No | ? |
nvi | No | No | No | No |
Pico | No | No | No | No |
PolyEdit | No | No | No | No |
Programmer's Notepad | No | No | No | No |
PSPad | Yes | No | No | No |
Q10 | ? | ? | ? | ? |
RJ TextEd | FTP, SFTP | No | Yes | No |
RText | No | No | No | No |
SciTE | No | No | No | No |
skEdit | Yes | No | Yes | Yes |
SlickEdit | Yes | Yes | Yes | No |
Smultron | Yes | ? | ? | ? |
Source Insight | No | No | No | No |
SubEthaEdit | Yes | No | No | No |
TED Notepad | No | ? | No | ? |
TextEdit | No | No | No | No |
TextMate | Yes[105] | No | No | No |
TextPad | No | No | No | No |
TextWrangler | FTP,SFTP | No | Yes | No |
The SemWare Editor | No | No | No | No |
UltraEdit | Yes | No | Yes | No |
VEDIT | Yes | No | No | No |
Vim | Plugin[108] | Plugin[108] | Plugin[108] | Plugin[108] |
XEmacs | Yes | Yes | Yes | ? |
Yi | No | No | No | No |
FTP | HTTP | SSH | WebDAV |
Unicode and other character encodings
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 | Yes | ? | ? | ? | Yes | No |
AkelPad | Yes | Yes | Yes | Yes | Yes | Yes |
Alphatk | Yes | ? | ? | ? | Yes | Yes |
Aquamacs | Yes | Yes | Yes | ? | Yes | Yes |
BBEdit | Yes | Yes | Yes | Yes | Yes | Yes |
Bluefish | Yes | Yes | Yes | Yes | Yes | Yes |
ConTEXT | Yes | Yes | Partial[109] | No | No | No |
Crimson Editor | Yes | Yes | Partial[109] | No | Partial | No |
Diakonos | Yes | ? | ? | ? | Partial | No |
E Text Editor | Yes | ? | ? | ? | Yes | Yes |
ed | Yes | ? | ? | ? | Yes | No |
EditPlus | Yes | ? | Yes | ? | Yes | Yes |
Editra | Yes | Yes | Yes | Yes | Yes | Yes |
EmEditor | Yes | Yes | Yes | Yes | Yes | Yes |
Geany | Yes | Yes | Yes | ? | Yes | Yes |
gedit | Yes | Yes | ? | ? | Yes | Yes |
GNU Emacs | Yes | Yes | Yes | Yes | Yes | Yes |
Gobby | Yes | Yes | No | No | Yes | Yes |
JED | Yes | Yes | Yes | ? | Yes | No |
jEdit | Yes | Yes | Yes | Yes | Yes | Yes |
JOE | Yes | ? | ? | ? | Yes | Yes |
LE | Yes | ? | ? | ? | Yes | No |
Kate | Yes | Yes | ? | ? | Yes | Yes |
KEDIT | Yes | Yes | Partial[109] | No | No | No |
Komodo Edit | Yes | Yes | No | No | Yes | Yes |
KWrite | Yes | ? | ? | ? | Yes | Yes |
Metapad | Yes | Yes | Partial[109] | No | No | No |
mined | Yes | Yes | Yes | ? | Yes | Yes |
MS-DOS Editor | Yes | ? | Yes | ? | ? | ? |
Nano | Yes | ? | ? | ? | Yes | No |
ASCII | ISO-8859 | DOS (OEM) | EBCDIC | UTF-8 | UTF-16 | |
NEdit | Yes | ? | ? | ? | No | No |
Notepad | Yes | Yes | Partial[109] | No | Yes | Yes |
Notepad++ | Yes | Yes | No | plugin? | Yes | Yes |
Notepad2 | Yes | Yes | Yes | No | Yes | Yes |
NoteTab | Yes | ? | Yes | Yes | Partial[110] | Partial[110] |
nvi | Yes | ? | ? | ? | Yes[111] | No |
Pico | Yes | No | No | No | No | No |
PolyEdit | Yes | ? | ? | ? | Yes | Yes |
Programmer's Notepad | Yes | ? | ? | ? | Yes | Yes |
PSPad | Yes | Yes | Yes | ? | Yes | Yes |
Q10 | ? | ? | ? | ? | ? | ? |
RJ TextEd | Yes | Yes | Yes | Yes | Yes | Yes |
RText | Yes | Yes | Yes | Yes[112] | Yes | Yes |
SciTE[113] | Yes | No | No | No | Yes | Yes |
skEdit | Yes | ? | ? | ? | Yes | Yes |
SlickEdit | Yes | ? | ? | ? | Yes | Yes |
Smultron | Yes | ? | ? | ? | Yes | Yes |
Source Insight | Yes | ? | ? | ? | ? | ? |
SubEthaEdit | Yes | ? | ? | ? | Yes | Yes |
Sublime Text | ? | ? | ? | ? | ? | ? |
TED Notepad | Yes | ? | ? | ? | Yes | Yes |
TextEdit | Yes | Yes | ? | ? | Yes | Yes |
TextMate | Yes | Yes | ? | ? | Yes | Yes |
TextPad | Yes | ? | ? | ? | Partial[114] | Partial[114] |
TextWrangler | Yes | Yes | Yes | Yes | Yes | Yes |
The SemWare Editor | Yes | Yes[115] | Partial[109] | plugin | No | No |
UltraEdit | Yes | Yes | Yes | Yes | Yes | Yes |
VEDIT | Yes | Yes | Yes | Yes | Partial[116] | Partial[116] |
Vim | Yes | Yes | Yes | No[117] | Yes | Yes |
XEmacs | Yes | Yes | ? | ? | Yes[118] | Yes |
Yi | Yes | ? | ? | ? | Yes | No |
ASCII | ISO-8859 | DOS (OEM) | EBCDIC | UTF-8 | UTF-16 |
Right-to-left and bidirectional text
Support for right to left (RTL) texts (like Hebrew, Arabic, Persian) and the mixture of left to right (LTR) and RTL known as bidirectional (bidi) support.
Depending on the algorithm used in the programs they 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 you cannot edit it and you should change the window direction to be able to edit right to left texts correctly.)
Right-to-left (RTL) | Bi-directional (Bidi) | |
---|---|---|
Acme | No | No |
AkelPad | No | No |
Alphatk | ? | ? |
Aquamacs | ? | ? |
BBEdit | No | No |
Bluefish | Yes | Yes |
ConTEXT | ? | ? |
Crimson Editor | ? | ? |
Diakonos | ? | ? |
E Text Editor | ? | ? |
ed | ? | ? |
EditPlus | No | No |
Editra | ? | ? |
EmEditor | No | No |
Geany | ? | ? |
gedit | Yes | Yes |
GNU Emacs | Yes | Yes |
Gobby | ? | ? |
JED | ? | ? |
jEdit | ? | ? |
JOE | ? | ? |
LE | ? | ? |
Kate | Yes | Yes |
KEDIT | No | No |
Komodo Edit | Yes | Yes |
KWrite | ? | ? |
Metapad | ? | ? |
MS-DOS Editor | ? | ? |
mined | Yes[119] | Yes[119] |
Nano | ? | ? |
RTL | Bidi | |
NEdit | ? | ? |
Notepad | Yes | Yes |
Notepad++ | Yes | No (limited) |
Notepad2 | No | No |
NoteTab | ? | ? |
nvi | ? | ? |
Pico | ? | ? |
PolyEdit | ? | ? |
Programmer's Notepad | ? | ? |
PSPad | ? | ? |
Q10 | ? | ? |
RJ TextEd | Yes | Yes |
RText | ? | ? |
SciTE | No | No |
skEdit | ? | ? |
SlickEdit | ? | ? |
Smultron | ? | ? |
Source Insight | No | No |
SubEthaEdit | Yes | Yes |
Sublime Text | No | No |
TED Notepad | ? | ? |
TextEdit | Yes | Yes |
TextMate | No | No |
TextPad | ? | ? |
TextWrangler | ? | ? |
The SemWare Editor | No | No |
UltraEdit | No | No |
VEDIT | ? | ? |
Vim | Yes | No |
XEmacs | ? | ? |
Yi | ? | ? |
RTL | Bidi |
Newline support
Windows (CR/LF) | Unix (LF) | Mac OS (CR) | |
---|---|---|---|
Acme | Yes | Yes | Yes |
AkelPad | Yes | Yes | Yes |
Alphatk | Yes | Yes | Yes |
Aquamacs | Yes | Yes | Yes |
BBEdit | Yes | Yes | Yes |
Bluefish | Yes | Yes | Yes |
ConTEXT | Yes | Yes | Yes |
Crimson Editor | Yes | Yes | Yes |
Diakonos | ? | Yes | ? |
E Text Editor | Yes | Yes | Yes |
ed | No | Yes | No |
EditPlus | Yes | Yes | Yes |
Editra | Yes | Yes | Yes |
EmEditor | Yes | Yes | Yes |
Geany | Yes | Yes | Yes |
gedit | Yes | Yes | Yes |
GNU Emacs | Yes | Yes | Yes |
Gobby | Yes | Yes | Yes |
JED | Yes | Yes | Yes |
jEdit | Yes | Yes | Yes |
JOE | Yes | Yes | ? |
LE | Yes | Yes | No |
Kate | Yes | Yes | Yes |
KEDIT | Yes | Yes | Yes |
Komodo Edit | Yes | Yes | Yes |
KWrite | Yes | Yes | Yes |
Metapad | Yes | Yes | ? |
MS-DOS Editor | Yes | No | No |
mined | Yes | Yes | Yes |
Nano | Yes | Yes | Yes |
NEdit | Yes | Yes | Yes |
Notepad | Yes | No | No |
Notepad++ | Yes | Yes | Yes |
Notepad2 | Yes | Yes | Yes |
NoteTab | Yes | Yes | Yes |
nvi | ? | Yes | ? |
Pico | ? | Yes | ? |
PolyEdit | Yes | Yes | Yes |
Programmer's Notepad | Yes | Yes | Yes |
PSPad | Yes | Yes | Yes |
Q10 | Yes | Yes | Yes |
RJ TextEd | Yes | Yes | Yes |
RText | Yes | Yes | Yes |
SciTE | Yes | Yes | Yes |
skEdit | Yes | Yes | Yes |
SlickEdit | Yes | Yes | Yes |
Smultron | Yes | Yes | Yes |
Source Insight | Yes | Yes | Yes |
SubEthaEdit | Yes | Yes | Yes |
Sublime Text | Yes | Yes | ? |
TED Notepad | Yes | Yes | Yes |
TextEdit | Yes | Yes | Yes |
TextMate | Yes | Yes | Yes |
TextPad | Yes | Yes | Yes |
TextWrangler | Yes | Yes | Yes |
The SemWare Editor | Yes | Yes | Yes |
UltraEdit | Yes | Yes | Yes |
VEDIT | Yes | Yes | Yes |
Vim | Yes | Yes | Yes |
XEmacs | Yes | Yes | Yes |
Yi | ? | Yes | ? |
Windows (CR/LF) | Unix (LF) | Mac OS (CR) |
See also
- Comparison of
- Lists of
Notes and references
- ^ Epsilon version 13
- ^ GEdit, when installed from MacPorts, runs in X11 and, therefore, does not have a native look and feel. However, precompiled native OS X binaries for GEdit may be downloaded from the GEdit project page, or from the GEdit FTP download server.
- ^ a b c d Requires Cygwin to run on Windows.
- ^ Does Kate/KWrite run on windows?Kate and KWrite run on Windows using cygwin.
- ^ a b c gedit, NEdit, SciTE, and SlickEdit run in the X11 window environment, and therefore do not use the native Aqua look-and-feel when running on OS X.
- ^ a b c Notepad, Notepad++, and Notepad2 run flawlessly on Linux and OS X, via Wine. See Notepad++ on the WineHQ Application Database for more information.
- ^ The SemWare Editor (TSE): Linux beta version in progress.
- ^ gedit supports single document window splitting via plugins. [1].
- ^ gedit supports multiple document window splitting via plugins. [2].
- ^ 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 package.
- ^ JOE supports editing multiple files but only seeing one of them, and switching to others via Ctrl+K+N, which is functionally equivalent to having tabs but no visible tab bar.
- ^ mined supports Copy/Paste between multiple documents in separate windows, when these documents are in separate terminal windows
- ^ SciTE has a maximum number of buffers, which can only be set as high as 100.
- ^ Vim Provided GVim is used.
- ^ Vim version 7 supports a tabbed document interface. Earlier versions can emulate tabs through scripts, for example TabBar.
- ^ ConTEXT does not support regular expression backreferences in its search and replace function.[3]
- ^ ConTEXT only supports converting text to UTF-16. Also, it can only use one type of new-line format if converting to UTF-16.
- ^ Diakonos supports spell checking by calling the external program aspell.
- ^ e supports spell checking via a bundle command available at the e Bundles repository.
- ^ Geany supports spell checking via a plugin, but not for Windows at the moment.
- ^ gedit supports spell checking via a plugin, which is distributed with gedit.
- ^ gedit supports Regex-based find & replace via plugins ([4].
- ^ https://live.gnome.org/Gedit/Plugins/ColumnMode
- ^ a b Emacs: With an external program Ispell
- ^ jEdit supports spell checking via an external plugin.
- ^ JOE supports spell checking via the ispell or aspell external plugins.
- ^ JOE uses a non-standard regular expression syntax.
- ^ JOE can easily pipe text through the GNU recode(1) utility; it detects locale settings and allows editing in any encoding set up by the environment.
- ^ LE can pipe text through the GNU recode(1) utility
- ^ Metapad spell checking by calling external program Aspell.
- ^ a b mined supports multiple lines in search and replacement expressions. Cite error: The named reference "minedEncoding" was defined multiple times with different content (see the help page).
- ^ mined supports new-line conversion via a command-line option or from the menu. Files with mixed newline types can be edited transparently; different kinds of new-line have different visual indications.
- ^ NEdit supports spell checking via a plugin
- ^ Notepad++ supports spell checking via the aspell plugin. Spell checking can only be done on-demand, as opposed to instantly by underlining misspelled words.
- ^ a b Scintilla-based editors such as SciTE, Notepad2 and Notepad++ do not support alternation (|) in regular expressions. Cite error: The named reference "Scintilla_regex" was defined multiple times with different content (see the help page).
- ^ a b Programmer's Notepad 2.
- ^ SubEthaEdit supports advanced block editing, including multi-line typing and non-contiguous block selections.
- ^ UltraEdit uses the Boost C++ regex library. While Boost supports backreferences past \9 with \g{10}, UltraEdit has not yet implemented this feature.
- ^ VEDIT 6.2 comes with Scribe spelling checker which has been written entirely in Vedit macro language. In addition, macro package for integrating Aspell can be downloaded here.
- ^ Vim version 7 supports spell checking natively. Earlier versions require a script shown here.
- ^ bluefish: Configurable via the outputbox feature.
- ^ editplus: Opens in a window, not really integrated.
- ^ editplus: Enabled by editing the corresponding .acp file.
- ^ EmEditor Professional supports Auto Complete via plugins (32-bit or 64-bit).
- ^ gedit-folding: Folding plugin for Gedit
- ^ gedit: Compiler integration: Functionality in plugins installed with gedit.
- ^ make can be launched from the LE text editor, but the output is not captured
- ^ mined: Syntax highlighting: HTML/XML, Javascript, JSP.
- ^ Notepad++: Auto complete: Supported via supplied/user-created lists.
- ^ NoteTab: Syntax highlighting only for html documents and NoteTab clip/scripts.
- ^ a b c d Programmer's Notepad 2
- ^ Function list (and stuff) available in Ru-Board build, ver 1.79.66Ru and later
- ^ TextMate: Auto complete: Supported language bundles
- ^ Textpad uses an add-on (http://www.textpad.com/add-ons/)
- ^ TextWrangler can integrate with a compiler if you write a shell script that takes flag input of the code and compiles it. You place this in ~/Library/Application Support/TextWrangler/Unix Support/Unix Filters/. It should show in the #! menu.
- ^ TSE uses a macro http://www.semware.com/html/tseprofiles.php
- ^ The Semware Editor: Auto complete: Supported via supplied/user-created lists.
- ^ The Semware Editor: Text folding: Compressed view possible.
- ^ Not in the Linux version.
- ^ Vedit: Auto complete: Template editing, plus 3rd party macro for expanding symbols from tags database.
- ^ Vim has a popular TagList plugin that provides a function list.
- ^ unlike most editors that use regexps or ad hoc parsing, Yi" uses an algorithm of incremental parsing to dynamically update the syntax highlighiting
- ^ Multi-line regex support Support for expressions spanning several lines (e.g. "\n\n(.+)\n\n")
- ^ Alpha Macro support via AppleScript, Tcl or text factories.
- ^ BBEdit Macro support via AppleScript, Perl, Python, shell scripts or text factories.
- ^ a b BBEdit and TextWrangler are technically capable of any size file, but limited practically by RAM and OS X limitation to files = 384mb. Cf. BBEdit FAQ Entry 36.
- ^ ConTEXT claims Large File Support but load time is proportional to file size and a 1GB file gave an Out of Memory error.
- ^ e Macro support via Cygwin and languages like Ruby, Python, or Perl.
- ^ a b Cssed Macro support via Python.
- ^ a b Emacs: 64-bit compilation on 64-bit OS can handle large files, otherwise the limit is 512 MiB.[5]
- ^ JED Editor
- ^ jEdit: Limited by Java heap size. jedit-users forum
- ^ a b kwrite-devel, Large Files open slowly due to futile Syntax-Highlighting
- ^ LE text editor locks the file and warns if someone else has changed the file
- ^ LE text editor can view and edit large files or their parts in mmap-shared mode
- ^ metapad FAQ, Loading Large Files
- ^ Question Defense, Windows: File Is To Big To Be Opened By NotePad++, Use Wordpad As Alternative
- ^ Notepad2 -- Frequently Asked Questions (FAQs)
- ^ NoteTab: Standard and Pro versions only.
- ^ Programmer's Notepad LFS, but not optimized. Editing is too slow to be useful.
- ^ PSPad Forum
- ^ skEdit Macro support via SCM plugins.
- ^ mozillaZine: Edit large mbox files
- ^ Comparison of Windows Text Editors for Large Files: Text editors for large files
- ^ a b Bare Bones Software | BBEdit Comparison Chart
- ^ Bare Bones Software | Features (BBEdit)
- ^ It is possible to customize all Gedit shortcuts because it is Gtk based.
- ^ a b pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor retrieved 2012-01-09.
- ^ GNU Emacs comes with Wordstar emulation, with the command M-x wordstar-mode, as found in the latest download from GNU Project Archives retrieved 2012-01-09. Found in file ws-mode.el ZZ see also the "Emulation" section of the GNU Emacs manual.
- ^ Kate supports an optional VI Input Mode.
- ^ a b pico (and nano) uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor retrieved 2012-01-09.
- ^ Programmer's Notepad: Partial VI key bindings supported via PyPN plugin and Command Mode.
- ^ In SciTE, custom keystrokes may be assigned to Lua scripts, external programs or lexers (highlighters).
- ^ SlickEdit provides emulation of VisualStudio, Visual C++ 6, CodeWright, Epsilon and ISPF key bindings in addition to those given in the table.
- ^ SlickEdit supports CodeWarrior, Xcode and BBEdit key binding emulation.
- ^ SlickEdit includes support of vi key bindings, the ex command line and some, but not all Vim extensions.
- ^ Bare Bones Software | Features (TextWrangler
- ^ Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
- ^ Vim emulates vi keys fully when in 'compatible' mode
- ^ Vim With a script such as Vimacs
- ^ a b Aquamacs Supported via a OS X mounted volume.
- ^ jEdit FTP and SFTP are supported via the FTP plugin.
- ^ jEdit: "HTTP is supported natively"
- ^ a b c d Vim Supported via netrw plugin distributed in the standard Vim installation.
- ^ a b c d e f when choosing e.g. Terminal font
- ^ a b Although NoteTab is not a native Unicode editor, you can open, edit, convert, and save such files reliably as long as all the text fits within a single ANSI code page supported by Windows.
- ^ nvi Gentoo
- ^ RText supports EBCDIC n z/OS and anywhere with a JVM that supports it
- ^ SciTE can open files in UTF or one single-byte encoding specified in a configuration file.
- ^ a b TextPad can load and save UTF-8 and UTF-16 text files, but cannot use or even preserve characters outside of the system encoding. [6]
- ^ when choosing e.g. New Courier font
- ^ a b Vedit can convert UTF-8 and UTF-16 files to Windows character set and back. Characters not included in Windows charset can be preserved.
- ^ Vim supports EBCDIC when compiled on a system that uses the EBCDIC character set.
- ^ from version 21.5.29
- ^ a b mined: supports bidi in cooperation with bidi terminal (mlterm, mintty); also supports "poor man's bidi mode" (automatic visual text order right-to-left input) in normal terminal
External links
- "GNU Emacs manual". GNU Emacs Manual 14th edition. Retrieved March 11, 2005. "The Emacs Editor"
- Quick reference card for TextPad
- TED Notepad Manual
- BBEdit 9.5 User Manual
- EmEditor 10.0 User Manual
- Python Editors
- List of editors at Editplus wiki
- TextEditors Wiki