Comparison of text editors

From Wikipedia, the free encyclopedia

This article provides a basic feature comparison for several text editors. Additional feature details are available from the Category of text editor features and from the individual products' articles. This article is not all-inclusive or necessarily up-to-date.

The comparisons are made on the stable versions of software – not the upcoming versions or beta releases – and without the use of any add-ons, extensions or external programs (unless specified in footnotes).

Contents

[edit] Overview

List of text editors
Creator First public release Latest stable version Programming language used Cost (US$) Software license Open source
Acme Rob Pike 1993 Plan 9 and Inferno Free LPL, (OSI approved) Yes
Alphatk Vince Darley 1999 8.3.3 $40 Proprietary, with BSD components No
BBEdit Rich Siegel 1992-04 8.7.2 $125, $49 educational Proprietary No
Bluefish Bluefish Development Team 1999 1.0.7 Free GPL Yes
ConTEXT ConTEXT Project Ltd 1999 0.98.5 Borland Delphi Free Proprietary No
Crimson Editor Ingyu Kang ? 3.7 Free GPL Yes
Diakonos Pistos 2004 0.8.4 Free GPL Yes
e Alexander Stigsen 2005 1.0.7 $34.95 Proprietary No
ed Ken Thompson 1970 unchanged from original Free / Yes
EditPlus Sangil Kim 1998 3.0 $30 Shareware No
EmEditor Professional Emurasoft, Inc. 1997 7.00.7 $39.99 (1-user) Shareware No
gedit GNU Project 2000 2.20.0 C Free GPL Yes
Geany Enrico Tröger 2005 0.13 Free GPL Yes
GNU Emacs Richard Stallman 1984 22.2 C and Elisp Free GPL Yes
JED John E. Davis 1999 (?) 0.99-18 Free GPL Yes
jEdit Slava Pestov 1998 (?) 4.2 Java Free GPL Yes
JOE Joseph Allen 1990 3.5 C Free GPL Yes
Kate KDE Project 2000-12 2.5.4 Free GPL Yes
KWrite KDE Project 2000 4.5 Free GPL Yes
Metapad Alexander Davidson 1999 3.51 Free Freeware No
mined Thomas Wolff 1992 2000.12 Free GPL Yes
MS-DOS Editor Microsoft 1991 2.0.026 Bundled with MS-DOS and Microsoft Windows Proprietary No
Nano GNU Project 1999 2.0.6 Free GPL Yes
Creator First public release Latest stable version Programming language used Cost (US$) Software license Open source
NEdit Mark Edel 1991 5.5 Free GPL Yes
Notepad Microsoft 1985 6.0 Bundled with Microsoft Windows Proprietary No
Notepad++ Donho Don Ho 2003-11-25 4.9.2 C++ Free GPL Yes
Notepad2 Florian Balmer 2004-04 2.0.18 Free BSD license Yes
NoteTab Eric Fookes, Fookes Software 1995 5.61 Free, $10 Standard, $20 Pro Proprietary No
nvi Keith Bostic ? 1.79 Free BSD license 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.0.6.1 C++ Free BSD license Yes
PSPad Jan Fiala 2002 4.5.3 Borland Delphi Free Proprietary No
sam Rob Pike 1980s Plan 9 and Inferno Free LPL, (OSI approved) Yes
SciTE Neil Hodgson 1999-03 1.75 Free HPND Yes
skEdit Sean Kelly, skti 2002 3.6.1 $24.95 for a Lifetime license Proprietary No
SlickEdit SlickEdit, Inc. 1988 11.0.2 $299 Proprietary No
Smultron Peter Borg 2004 3.3 Objective-C Free BSD Yes
SubEthaEdit TheCodingMonkeys 2003 2.6.3 $35 for commercial use Proprietary No
TED Notepad Juraj Simlovic 2001 5.3.1 Free Freeware No
TextEdit Apple Computer 2001 1.4 Bundled with Mac OS X Proprietary No
TextMate MacroMates 2004-10-10 1.5.7 Objective-C++ €39 Proprietary, with MIT components No
TextPad Helios Software Solutions 1992 5.2 $32.40 (£16.50) Shareware No
TextWrangler Bare Bones Software ? 2.3 Free Proprietary No
The Gun Steve Hutchesson ? 3.0f Microsoft Assembler (100%) Free Freeware No
Top Gun Steve Hutchesson ? 2.4 Microsoft Assembler (100%) Free Freeware No
The SemWare Editor Sammy Mitchell 1985-11 4.4 $99 Proprietary No
UltraEdit IDM Computer Solutions 1994 14.00 $49.95 Proprietary No
UNA N-BRAIN, Inc. 2008 1.0 Java Lite free, Full $300 Proprietary No
VEDIT Ted Green, Greenview Data 1980 6.15.2 Assembly and C standard $89 , Pro64 $239 Proprietary No
Vim Bram Moolenaar 1991 7.1 C Free GPL - compatible Yes
XEmacs Lucid Inc. 1991 21.4 C and Elisp Free GPL Yes
Zeus Xidicone P/L 1995 3.96 $49.95 Shareware No
Creator First public release Latest stable version Programming language used Cost (US$) Software license Open source

[edit] 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.

[edit] Cross-platform

Text editor support for various operating systems
Windows Mac OS X Linux BSD Unix OpenVMS
Acme Yes Yes Yes Yes Yes No
Alphatk Yes Yes Yes Yes Yes Yes
Bluefish Partial [1] Yes Yes Yes Yes Yes
Diakonos Yes Yes Yes Yes Yes No
ed Yes Yes Yes Yes Yes Yes
gedit No Yes [2] Yes Yes Yes No
Geany Yes Yes Yes Yes Yes Yes
GNU Emacs Yes Yes Yes Yes Yes Yes
JED Yes Yes Yes Yes Yes Yes
jEdit Yes Yes Yes Yes Yes No
JOE Partial [3] Yes Yes Yes Yes No
Kate No Yes Yes Yes Yes No
KWrite Yes Yes Yes Yes Yes No
mined Partial [4] Yes Yes Yes Yes ?
Nano Yes Yes Yes Yes Yes No
NEdit Partial [3] Yes [2] Yes Yes Yes Yes
ne No Yes Yes Yes Yes No
nvi No Yes Yes Yes Yes No
Pico Yes Yes Yes Yes Yes Yes
SciTE Yes Yes [2] Yes Yes Yes No
SlickEdit Yes Yes [2] Yes No Yes No
TaterEdit Yes Yes Yes No No No
UNA Yes Yes Yes Yes Yes No
Vim Yes Yes Yes Yes Yes Yes
XEmacs Yes Yes Yes Yes Yes Yes
Windows Mac OS X Linux BSD Unix OpenVMS

[edit] Java-based text editors

Java-based
jEdit
UNA

[edit] Windows-only text editors

Windows Only
ConTEXT
Crimson Editor
e
EditPlus
EmEditor
Metapad
Notepad
Notepad++
Notepad2
NotesHolder
NoteTab
PolyEdit
Programmer's Notepad
PSPad
TED Notepad
TextPad
The SemWare Editor [5]
UltraEdit
VEDIT
Zeus

[edit] Mac-only text editors

Mac Only
BBEdit
QUED/M
Scrivener
skEdit
Smultron
SubEthaEdit
TextEdit
TextMate
TextWrangler

[edit] Natural language

Available languages for the UI[6]
English German French Polish Japanese Italian Dutch Portuguese Spanish Swedish Total
Acme Yes ? ? ? ? ? ? ? ? ? ?
Alphatk Yes ? ? ? ? ? ? ? ? ? ?
BBEdit Yes ? ? ? No ? ? ? ? ? ?
Bluefish Yes Yes Yes Yes Yes Yes No 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 Yes ? ? ? ? ? ? ? ? ? ?
ed Yes ? ? ? ? ? ? ? ? ? ?
EditPlus Yes ? ? ? ? ? ? ? ? ? ?
EmEditor Professional Yes ? Yes ? Yes ? ? ? ? ? ?
gedit 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 1
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 [3]
KWrite Yes Yes ? ? ? Yes ? ? Yes Yes ?
Metapad Yes ? ? ? ? ? ? ? ? ? ?
mined Yes ? ? ? ? ? ? ? ? ? ?
MS-DOS Editor Yes ? ? ? ? ? ? ? ? ? ?
Nano Yes ? ? ? ? Yes ? ? Yes ? ?
NEdit Yes ? ? ? ? ? ? ? ? ? ?
Notepad Yes Yes Yes Yes ? Yes Yes Yes Yes ? ?
Notepad++ Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 43
Notepad2 Yes Yes Yes Yes ? ? ? ? Yes Yes ?
NoteTab Yes ? ? ? ? ? ? ? ? ? ?
nvi Yes ? ? ? ? ? ? ? ? ? ?
Pico Yes ? ? ? ? Yes ? ? ? ? ?
PolyEdit Yes ? ? ? ? ? ? ? ? ? ?
Programmer's Notepad Yes ? ? ? ? ? ? ? ? ? ?
PSPad Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 36
SciTE Yes Yes Outdated (1.72) Yes Outdated (1.62) Yes Outdated (1.67) Outdated (1.63) Yes Yes 39 [4]
skEdit Yes ? ? ? ? ? ? ? ? ? ?
SlickEdit Yes ? ? ? ? ? ? ? ? ? ?
Smultron Yes Yes Yes No Yes Yes Yes No Yes Yes 13
SubEthaEdit Yes ? ? ? ? ? ? ? ? ? ?
TED Notepad Yes ? ? ? ? ? ? ? ? ? ?
TextEdit Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 18
TextMate Yes ? ? ? No ? ? ? ? ? ?
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 ? ? ? ? ? ?
The SemWare Editor Yes ? ? ? ? ? ? ? ? ? ?
UltraEdit Yes Yes Yes No No Yes No No Yes No 7
UNA Yes No No No No No No No No No 1
VEDIT Yes No No No No No No No No No 1
Vim Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 25
XEmacs Yes ? ? ? ? ? ? ? ? ? ?
Zeus Yes ? ? ? ? ? ? ? ? ? ?
English German French Polish Japanese Italian Dutch Portuguese Spanish Swedish Total

[edit] Document interface

Text editor support for common document interfaces
Multiple instances Single document window splitting MDI: Overlappable windows MDI: Tabbed document interface MDI: Window splitting
Acme Yes Yes No Yes Yes
Alphatk Yes Yes Yes Yes Yes
BBEdit Yes Yes Yes Yes Yes
Bluefish Yes No Yes Yes No
ConTEXT No No Yes Yes No
Crimson Editor Yes Yes Yes Yes Yes
Diakonos Yes No No No No
e Yes No No Yes No
ed Yes No No No No
EditPlus Yes Yes Yes Yes Yes
EmEditor Professional Yes Yes Yes Yes Yes
Geany Yes No No Yes No
gedit Yes No Yes Yes No
GNU Emacs Yes Yes Yes Plugin [7] [8] Yes
JED No Yes No No Yes
jEdit Yes Yes No Yes Yes
JOE Yes Yes No No[9] Yes
Kate Yes Yes Yes Yes Yes
KWrite Yes No No No No
Metapad Yes No No No No
mined Yes No No [10] No No
MS-DOS Editor ? 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 Yes
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 No Yes Yes No
PSPad Yes Yes Yes Yes Yes
SciTE Yes No No Yes [11] No
skEdit Yes Yes No Yes No
SlickEdit Yes Yes Yes Yes Yes
Smultron Yes Yes No Yes Yes
SubEthaEdit Yes Yes No Yes No
TED Notepad ? ? ? ? ?
TextEdit ? ? Yes ? ?
TextMate Yes No No Yes No
TextPad Yes Yes Yes Yes No
TextWrangler Yes Yes Yes Yes Yes
The SemWare Editor Yes Yes No No Yes
UltraEdit Yes Yes Yes Yes Yes
UNA Yes Yes No Yes Yes
VEDIT Yes Yes Yes Yes Yes
Vim Yes Yes Yes [12] Yes [13] Yes
XEmacs Yes Yes Yes Yes Yes
Zeus No Yes Yes Yes Yes
Multiple instances Single document window splitting MDI: Overlappable windows MDI: Tabbed document interface MDI: Window splitting

[edit] Notes:

  • Multiple instances: multiple instances of the program can be opened simultaneously for editing multiple files. Applies both for SDI and MDI programs. Also applies for program that has an 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).

[edit] Basic features

Text editor support for basic editing features
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection
Acme No Yes No No Yes No
Alphatk Yes Yes Yes Yes Yes Yes
BBEdit Yes Yes Yes Yes Yes Yes
Bluefish Yes Yes Yes Yes Yes ?
ConTEXT No Partial[14] Partial [15] Yes Yes Yes
Crimson Editor Yes Yes Yes Yes Yes Yes
Diakonos No Yes No No Yes No
e Plugin[16] Yes Yes Yes Yes Yes
ed No Yes No No No No
EditPlus Yes Yes Yes Yes Yes Yes
EmEditor Professional Plugin[17] Yes Yes Yes Yes Yes
Geany ? Yes Yes Yes Yes Yes
gedit Yes [18] No Yes No Yes No
GNU Emacs Yes Yes Yes Yes Yes Yes
JED Yes Yes Yes Yes Yes Yes
jEdit Plugin[19] Yes Yes Yes Yes Yes
JOE Plugin[20] Partial[21] No[22] Yes Yes Yes
Kate Yes Yes Yes Yes Yes Yes
KWrite Yes Yes Yes Yes Yes Yes
Metapad Partial[23] No Yes Yes Yes No
mined No Yes Yes [24] Yes [25] No No
MS-DOS Editor No ? ? Yes ? ?
Nano Yes Yes No Yes No No
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection
NEdit Plugin[26] Yes No Yes Yes Yes
Notepad No No No No No No
Notepad++ Plugin[27] Yes Yes Yes Yes Yes
Notepad2 No Yes Yes Yes Yes Yes
NoteTab 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 [28] Yes [28] Yes Yes
PSPad Yes Yes Yes Yes Yes Yes
SciTE No Limited[29] No Yes Yes Yes
skEdit Yes Yes Yes Yes Yes Yes
SlickEdit Yes Yes Yes Yes Yes Yes
Smultron Yes Yes Yes Yes Yes ?
SubEthaEdit Yes Yes Yes Yes Yes ?
TED Notepad No No No Yes Yes No
TextEdit Yes No 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
UltraEdit Yes Yes [30] Yes Yes Yes Yes
UNA No Yes No No Yes Yes
VEDIT Plugin[31] Yes Yes Yes Yes Yes
Vim Yes [32] Yes Yes Yes Yes Yes
XEmacs Yes Yes Yes Yes Yes Yes
Zeus Yes Yes Yes Yes Yes Yes
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection

[edit] Programming features

Text editor support for programming features (see source code editor)
Syntax highlighting Function list Symbol database
(ctags or equiv.)
Bracket matching Auto indentation Auto completion Code folding Text folding Compiler integration
Acme No ? ? Yes Yes Yes No No Yes
Alphatk Yes ? ? Yes Yes Yes Yes Yes Yes
BBEdit Yes Yes Yes Yes Yes Yes Yes Yes Yes
Bluefish Yes ? ? Yes[33] Yes Yes Yes[34] No Yes[35]
ConTEXT Yes ? ? Yes Yes Yes No No Yes
Crimson Editor Yes No No Yes Yes No No No Yes
Diakonos Yes ? ? No Yes No No No No
e Yes ? ? Yes Yes Yes Yes No Yes
ed No No No No No No No No No
EditPlus Yes Yes[36] Yes[37] Yes Yes Yes[38] No No Yes
EmEditor Professional Yes Yes Yes Yes Yes Yes [39] Yes Yes Yes
Geany Yes Yes Yes Yes Yes Yes Yes Yes Yes
gedit Yes ? Plugin Yes Yes No No No Yes[40]
GNU Emacs Yes Yes Yes Yes Yes Yes Yes Yes Yes
JED Yes ? Yes Yes Yes Yes Yes Yes Yes
jEdit Yes ? Plugin Yes Yes Yes Yes Yes No
JOE Yes ? Yes Yes Yes ? No No Yes
Kate Yes ? Plugin Yes Yes Yes Yes Yes No
KWrite Yes ? ? Yes Yes Yes Yes Yes No
Metapad No No No No Yes No No No No
mined Yes [41] ? Yes Yes Yes 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 No Yes Yes Yes Yes[42] No No Yes
Notepad No No No No No No No No No
Notepad++ Yes Plugin Plugin Yes Yes Yes [43] Yes Yes Yes
Notepad2 Yes No No Yes Yes No No No No
NoteTab Partial [44] ? ? 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
Programmer's Notepad Yes Yes Yes Yes [45] Yes [45] Yes Yes [45] Yes Yes [45]
PSPad Yes Yes ? Yes Yes Yes No No Yes
SciTE Yes ? ? Yes Yes Yes Yes Yes Yes
skEdit Yes ? ? Yes Yes Yes No No No
SlickEdit Yes Yes Yes Yes Yes Yes Yes Yes Yes
Smultron Yes ? ? Yes Yes Yes ? ? ?
SubEthaEdit Yes ? ? Yes Yes Yes No No Yes
TED Notepad No ? ? No Yes Yes No No No
TextEdit ? ? ? ? ? ? ? ? No
TextMate Yes ? Yes Yes Yes Partial [46] Yes Yes No
TextPad Yes ? ? Yes Yes No No No Yes
TextWrangler Yes ? ? Yes Yes No No No No
The SemWare Editor Yes ? ? Yes Yes Yes [47] Partial [48] No Yes
UltraEdit Yes Yes Yes Yes Yes Yes Yes Yes Yes
UNA Yes ? ? Yes Yes Yes No No Yes
VEDIT Yes Yes Yes Yes Yes Yes [49] No No Yes
Vim Yes ? Yes Yes Yes Yes Yes Yes Yes
XEmacs Yes ? Yes Yes Yes Yes Yes Yes Yes
Zeus Yes ? Yes Yes Yes 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

[edit] Notes

  • Syntax highlighting: Displays text in different colors and fonts according to the category of terms. See Syntax highlighting.
  • 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 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?)
  • Auto completion:
  • Code folding:
  • Text folding:
  • 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.

[edit] Extra features

Text editor support for other programming features
Text shell integration Graphical shell integration Macro Collaborative editing Large file support Multi-line regex support[50]
Acme Yes Yes Yes No ? ?
Alphatk Yes Yes Yes [51] No ? ?
BBEdit Yes Yes Yes [52] No No [53] Yes
Bluefish No Yes ? Yes ? Yes
ConTEXT No Yes Yes No No [54] No
Crimson Editor No Yes Yes No No No
Diakonos No No Yes No ? ?
e Yes Yes No[55] Yes Yes Yes
ed No No No No ? ?
EditPlus ? Yes Yes No No Yes
EmEditor Professional Yes Yes Yes No Yes Yes
Geany ? ? ? ? ? ?
gedit Yes Yes Yes [56] No ? No
GNU Emacs Yes Yes Yes Yes Yes Yes
JED Yes No Yes No ? ?
jEdit Yes No Yes No ? Yes
JOE Yes No Yes No Yes ?
Kate Yes Yes No No ? No
KWrite No No No No ? No
Metapad Yes Yes No No ? ?
mined ? ? ? ? ? ?
Nano ? ? ? No ? ?
Text shell integration Graphical shell integration Macro Collaborative editing Large file support Multi-line regex support[50]
NEdit Yes Yes Yes No No Yes
Notepad Yes Yes No No No No
Notepad++ Yes Yes Yes No Yes with plugin
Notepad2 No No No No ? No
NoteTab ? ? Yes ? No Yes[57]
nvi Yes No No ? ? ?
Pico ? ? ? No ? ?
PolyEdit Yes Yes No No Yes Yes
Programmer's Notepad No No Yes [56] No Yes [58] No
PSPad Yes Yes Yes No ? ?
SciTE ? ? Yes No ? No
skEdit Yes Yes No Yes [59] ? ?
SlickEdit Yes Yes Yes No No Yes
Smultron ? ? ? ? ? ?
SubEthaEdit Yes Yes No Yes ? Yes
TED Notepad Yes Yes No No No ?
TextEdit Yes Yes No No ? ?
TextMate Yes Yes Yes No ? Yes
TextPad No Yes Yes No No Yes
TextWrangler Yes Yes Yes No Yes Yes
The SemWare Editor Yes Yes Yes No Yes No
UltraEdit Yes Yes Yes No Yes Yes
UNA Yes Yes No Yes No Yes
VEDIT Yes Yes Yes No Yes Yes
Vim Yes Yes Yes No Yes Yes
XEmacs Yes Yes Yes Yes ? Yes
Zeus Yes Yes Yes [60] No ? ?
Text shell integration Graphical shell integration Macro Collaborative editing Large file support Multi-line regex support[50]

[edit] Key bindings

Text editor support for key bindings.
Dynamically customizable Mac OS X Vi Emacs Pico
Acme No No No No No
Alphatk ? ? ? ? ?
BBEdit ? ? ? ? ?
Bluefish Yes ? ? ? ?
ConTEXT ? ? ? ? ?
Crimson Editor ? ? ? ? ?
Diakonos ? ? ? ? ?
e ? ? ? ? ?
ed ? ? No No No
EditPlus Yes ? ? ? ?
EmEditor Professional Yes ? ? ? ?
Geany Yes ? ? ? ?
gedit ? ? ? ? ?
GNU Emacs Yes ? Yes Yes ?
JED Yes ? Yes Yes ?
jEdit Yes ? ? ? ?
JOE ? ? ? Yes Yes
Kate Yes ? ? ? ?
KWrite Yes ? ? ? ?
Metapad ? ? ? ? ?
mined ? ? ? ? ?
Nano ? ? ? ? Yes
NEdit ? ? ? ? ?
Notepad ? ? No No No
Notepad++ Yes ? ? ? ?
Notepad2 No No No No No
NoteTab ? ? ? ? ?
nvi ? ? Yes ? ?
Pico ? ? No No Yes
PolyEdit ? ? ? ? ?
Programmer's Notepad Yes ? ? ? ?
PSPad Yes ? ? ? ?
SciTE Partial[61] ? No No No
skEdit ? ? ? ? ?
SlickEdit ? ? Yes Yes ?
Smultron ? ? ? ? ?
SubEthaEdit ? ? ? ? ?
TED Notepad ? ? ? ? ?
TextEdit ? Yes No No No
TextMate ? ? ? ? ?
TextPad ? ? ? ? ?
TextWrangler ? ? ? ? ?
The SemWare Editor Yes ? ? ? ?
UltraEdit ? ? ? ? ?
VEDIT Yes No No [62] No No
Vim Yes ? Yes [63] Partial [64] ?
XEmacs Yes No Yes Yes ?
Zeus ? ? ? ? ?
Dynamically customizable Standard Mac OS X Vi Emacs Pico

[edit] Protocol support

Text editor support for remote file editing over Internet Protocols
FTP HTTP SSH WebDAV
Acme Yes Yes Yes No
Alphatk Yes No No Yes
BBEdit Yes No Yes No
Bluefish Yes Yes Yes Yes
ConTEXT ? ? ? ?
Crimson Editor Yes No No No
Diakonos ? ? ? ?
e Yes No No No
ed No No No No
EditPlus Yes No No No
EmEditor Professional No No No No
Geany No No No No
gedit Yes Yes Yes Yes
GNU Emacs Yes Yes Yes Yes
JED No No No No
jEdit Yes [65] No Yes [65] Yes [65]
JOE No No No No
Kate Yes Yes Yes Yes
KWrite Yes Yes Yes Yes
Metapad No No No No
mined ? ? ? ?
Nano No No Yes No
FTP HTTP SSH WebDAV
NEdit No No No No
Notepad No No No No
Notepad++ Yes No No No
Notepad2 No No No No
NoteTab ? ? ? ?
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
SciTE No No No No
skEdit Yes No Yes Yes
SlickEdit Yes Yes Yes No
Smultron ? ? ? ?
SubEthaEdit Yes No No No
TaterEdit Yes No Yes No
TED Notepad ? ? ? ?
TextEdit No No No No
TextMate Yes [66] No No No
TextPad No No No No
TextWrangler Yes ? Yes ?
The SemWare Editor No No Yes *[67] No
UltraEdit Yes No Yes No
VEDIT Yes No No No
Vim Yes [68] Yes [68] Yes [68] Yes [68]
XEmacs Yes Yes Yes ?
Zeus Yes Yes Yes No
FTP HTTP SSH WebDAV

[edit] 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.

If the editor can only convert the character encoding to internal (8 bit) format for editing, mark the support as partial. If some encodings are supported only in some platforms, the support is partial.

Unicode
Character encodings
UCS
Mapping
Bi-directional text
BOM
Han unification
Unicode and HTML
Unicode and E-mail
Unicode typefaces
Text editor support for some of the most common character encodings
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16
Acme Yes ? ? ? Yes No
Alphatk Yes ? ? ? Yes Yes
BBEdit Yes ? ? ? Yes Yes
Bluefish Yes ? ? ? Yes ?
ConTEXT Yes ? ? ? No Yes
Crimson Editor Yes Yes No No Partial No
Diakonos ? ? ? ? ? ?
e Yes ? ? ? Yes Yes
ed Yes ? ? ? Yes No
EditPlus Yes ? ? ? Yes Yes
EmEditor Professional Yes Yes Yes Yes Yes Yes
Geany Yes Yes Yes ? Yes Yes
gedit Yes ? ? ? Yes Yes
GNU Emacs Yes Yes ? ? Yes Yes
JED Yes Yes Yes ? Yes No
jEdit Yes ? ? ? Yes Yes
JOE Yes ? ? ? Yes Yes
Kate Yes Yes ? ? Yes Yes
KWrite Yes ? ? ? Yes Yes
Metapad Yes ? ? ? Yes Yes
mined 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 No No Yes Yes
Notepad++ Yes Yes Yes plugin Yes Yes
Notepad2 Yes Yes No No Yes Yes
NoteTab Yes ? Yes Yes ? ?
nvi Yes ? ? ? Yes [69] No
Pico Yes ? ? ? No No
PolyEdit Yes ? ? ? Yes Yes
Programmer's Notepad Yes ? ? ? Yes Yes
PSPad Yes Yes Yes ? Yes Yes
SciTE Yes ? Partial ? Yes Yes
skEdit Yes ? ? ? Yes Yes
SlickEdit Yes ? ? ? Yes Yes
Smultron Yes ? ? ? Yes Yes
SubEthaEdit Yes ? ? ? Yes Yes
TED Notepad Yes ? ? ? Yes Yes
TextEdit Yes ? ? ? Yes Yes
TextMate Yes ? ? ? Yes Yes
TextPad Yes ? ? ? Partial [70] Partial [70]
TextWrangler Yes ? ? ? Yes Yes
The SemWare Editor Yes ? ? ? No No
UltraEdit Yes Yes ? ? Yes Yes
UNA Yes ? ? ? Yes Yes
VEDIT Yes Yes Yes Yes Partial Partial [71]
Vim Yes Yes Yes No [72] Yes Yes
XEmacs Yes ? ? ? Yes Yes
Zeus Yes ? ? ? Yes Yes
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16

[edit] Newline support

Text editor support for newline character sequence support
Windows (CR/LF) Unix (LF) Mac (CR)
Acme No Yes No
Alphatk Yes Yes Yes
BBEdit Yes Yes Yes
Bluefish Yes Yes Yes
ConTEXT Yes Yes Yes
Crimson Editor Yes Yes Yes
Diakonos ? ? ?
e Yes Yes Yes
ed No Yes No
EditPlus Yes Yes Yes
EmEditor Professional Yes Yes Yes
Geany Yes Yes Yes
gedit Yes Yes Yes
GNU Emacs Yes Yes Yes
JED Yes Yes Yes
jEdit Yes Yes Yes
JOE Yes Yes ?
Kate Yes Yes Yes
KWrite Yes Yes Yes
Metapad Yes Yes ?
MS-DOS Editor Yes ? ?
mined Yes Yes Yes
Nano Yes Yes Yes
Windows (CR/LF) Unix (LF) Mac (CR)
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
SciTE Yes Yes Yes
skEdit Yes Yes Yes
SlickEdit Yes Yes Yes
Smultron Yes Yes Yes
SubEthaEdit Yes Yes Yes
TaterEdit Yes 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
UNA Yes Yes Yes
VEDIT Yes Yes Yes
Vim Yes Yes Yes
XEmacs Yes Yes Yes
Zeus Yes Yes No
Windows (CR/LF) Unix (LF) Mac (CR)

[edit] Notes

  1. ^ Bluefish runs on Windows using Cygwin; native win32 port in progress.
  2. ^ a b c d 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 Mac OS X.
  3. ^ a b Requires Cygwin to run on Windows.
  4. ^ mined runs on Windows using either cygwin (via an X terminal or a stand-alone rxvt) or in command prompt window (with the DOS version).
  5. ^ The SemWare Editor (TSE): Linux beta version in progress.
  6. ^ Selected languages are those for which the respective edition of Wikipedia has over 250,000 articles
  7. ^ Aquamacs Emacs and GNU Emacs can use a tabbed document interface in a non OS-native way, using the tabbar plug-in.
  8. ^ GNU Emacs can support a tabbed document interface modelled after GNU Screen using the elscreen package.
  9. ^ 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.
  10. ^ mined supports Copy/Paste between multiple documents in separate windows, when these documents are in separate terminal windows
  11. ^ SciTE has a maximum number of buffers, which can only be set as high as 100.
  12. ^ Vim Provided GVim is used.
  13. ^ Vim version 7 supports a tabbed document interface. Earlier versions can emulate tabs through scripts, for example TabBar.
  14. ^ ConTEXT does not support regular expression backreferences in its search and replace function.[1]
  15. ^ ConTEXT only supports converting text to UTF-16. Also, it can only use one type of new-line format if converting to UTF-16.
  16. ^ e supports spell checking via a bundle command available at the e Bundles repository.
  17. ^ EmEditor Professional supports spell checking via plugins (32-bit or 64-bit).
  18. ^ gedit supports spell checking via a plugin, which is distributed with gedit.
  19. ^ jEdit supports spell checking via an external plugin.
  20. ^ JOE supports spell checking via the ispell or aspell external plugins.
  21. ^ JOE uses a non-standard regular expression syntax.
  22. ^ 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.
  23. ^ Metapad spell checking by calling external program Aspell.
  24. ^ mined can convert the encoding format when using the Copy & Paste feature between multiple documents (that have different encodings).
  25. ^ mined supports new-line conversion via a command-line option. Different types of new-line format have different visual indications.
  26. ^ NEdit supports spell checking via a plugin
  27. ^ Notepad++ supports spell checking via the aspell external plugins.
  28. ^ a b Programmer's Notepad 2.
  29. ^ SciTE does not support alternation (|) in regular expressions.
  30. ^ UltraEdit used a non-standard regular expression syntax in earlier versions, but now supports its proprietary format and PCREs.
  31. ^ VEDIT spell checking: Macro package for integrating Aspell can be downloaded from Vedit Forum. There is also Scribe spelling checker which has been written entirely in Vedit macro language.
  32. ^ Vim version 7 supports spell checking natively. Earlier versions require a script shown here.
  33. ^ bluefish: In the 1.1 development series only.
  34. ^ bluefish: In the 1.1 development series only.
  35. ^ bluefish: Configurable via the outputbox feature.
  36. ^ editplus: Opens in a window, not really integrated.
  37. ^ editplus: Enabled by editing the corresponding .stx file.
  38. ^ editplus: Enabled by editing the corresponding .acp file.
  39. ^ EmEditor Professional supports Auto Complete via plugins (32-bit or 64-bit).
  40. ^ gedit: Compiler integration: Functionality in plugins installed with gedit.
  41. ^ mined: Syntax highlighting: HTML/XML, Javascript, JSP.
  42. ^ Nedit: Auto complete: via plugin
  43. ^ Notepad++: Auto complete: Supported via supplied/user-created lists.
  44. ^ NoteTab: Syntax highlighting only for html documents and NoteTab clip/scripts.
  45. ^ a b c d Programmer's Notepad 2
  46. ^ TextMate: Auto complete: Supported in some language bundles
  47. ^ The Semware Editor: Auto complete: Supported via supplied/user-created lists.
  48. ^ The Semware Editor: Text folding: Compressed view possible.
  49. ^ Vedit: Auto complete: Template editing, plus 3rd party macro for expanding symbols from tags database.
  50. ^ a b c Multi-line regex support Support for expressions spanning several lines (e.g. "\n\n(.+)\n\n")
  51. ^ Alpha Macro support via AppleScript, Tcl or text factories.
  52. ^ BBEdit Macro support via AppleScript, Perl, Python, shell scripts or text factories.
  53. ^ BBEdit is technically capable of any size file, but limited practically by RAM and OS X limitation to files ≤ 384mb. Cf. BBEdit FAQ Entry 36.
  54. ^ ConTEXT claims Large File Support but load time is proportional to file size and a 1GB file gave an Out of Memory error.
  55. ^ e Macro support via Cygwin and languages like Ruby, Python, or Perl.
  56. ^ a b Cssed Macro support via Python.
  57. ^ NoteTab: Standard and Pro versions only.
  58. ^ Programmer's Notepad LFS, but not optimized. Editing is too slow to be useful.
  59. ^ skEdit Macro support via SCM plugins.
  60. ^ Zeus Macro support via Python, Lua, Small-C, VBScript, JavaScript or Ruby.
  61. ^ In SciTE, custom keystrokes may be assigned to Lua scripts, external programs or lexers (highlighters).
  62. ^ Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
  63. ^ Vim emulates vi keys fully when in 'compatible' mode
  64. ^ Vim With a script such as Vimacs
  65. ^ a b c jEdit Supported via plugins.
  66. ^ Aquamacs Supported via a Mac OS X mounted volume.
  67. ^ The SemWare Editor (TSE) Console version only.
  68. ^ a b c d Vim Supported via netrw plugin.
  69. ^ nvi Gentoo
  70. ^ 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. [2]
  71. ^ Vedit can convert UTF-16 files to Windows character set and back.
  72. ^ Vim supports EBCDIC when compiled on a system that uses the EBCDIC character set.

[edit] References

[edit] See also

Languages