Comparison of text editors

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

List of text editors
Name Creator First public release Latest stable version Latest Release Date Programming language Cost (US$) Software license Open source CLI available Minimum installed size
Acme Rob Pike 1993 Plan 9 and Inferno C Free LPL (OSI approved) Yes
AkelPad Alexey Kuznetsov, Alexander Shengalts 2003 4.9.8 2016-07-18 C Free BSD Yes
Alphatk Vince Darley 1999 8.3.3 2004-12-10 $40 Proprietary, with BSD components No
Aquamacs David Reitter 2005 3.3 2016-09-20 C, Emacs Lisp Free GPL Yes
Atom GitHub 2014 1.31.1 2018-09-28 HTML, CSS, JavaScript, C++ Free MIT Yes No ~ 150 MB
BBEdit Rich Siegel 1992 12.1.3 2018-04-11 Objective-C, Objective-C++ $49.99 Proprietary No
Bluefish Bluefish Development Team 1999 2.2.10 2017-01-27 C Free GPL Yes
Brackets Adobe Systems 2012 1.12 2018-02-05 HTML, CSS, JavaScript, C++ Free MIT Yes
Coda Panic 2007 2.6.6 2017-06-05 Objective-C $99 Proprietary No
ConTEXT ConTEXT Project Ltd 1999 0.98.6 2009-08-14 Object Pascal (Delphi) Free BSD Yes
Crimson Editor Ingyu Kang, Emerald Editor Team 1999 3.72 2008-05-14 C++ Free GPL Yes
CudaText UVViewSoft (alexey_t, kvichans, matthias030) 2015 1.57.0 2018-06-25 Object Pascal (Lazarus) Free MPL 2.0 Yes 8 MB Mac

12 MB Win

5 Mb *nix

E Text Editor Alexander Stigsen 2005 2.0.2 2010-11-30 $46.95 Proprietary, with BSD components No
ed Ken Thompson 1970 unchanged from original C Free ? Yes Yes 0.04 MB
EditPlus Sangil Kim 1998 5.0 2018-03-26 C++ $35 Shareware No
Editra Cody Precord 2007 0.7.20 2013-01-05 Python Free wxWindows license Yes
EmEditor Emurasoft, Inc. 1997 17.3.2 2017-09-20 C++ $39.99 1-user Shareware No
epsilon Lugaru Software 1984 13.06 2016-12-06 C $250 Proprietary No
gedit GNU Project 2000 3.28.2 (Win 3.20.1, Mac 3.2.6[1]) 2018-05-09 C Free GPL Yes
Geany Enrico Tröger 2005 1.33 2018-02-25 C, GTK2 Free GPL Yes
GNU Emacs Richard Stallman 1984 25.3 2017-09-11 C, Emacs Lisp Free GPL Yes Yes 11.6 MB
JED John E. Davis 1992 0.99-19 2009-12-13 C, S-Lang Free GPL Yes Yes 3.5 MB[2]
jEdit Slava Pestov 1998 5.4.0 2017-03-18 Java Free GPL Yes
JOE Joseph Allen 1988 4.6 2018-01-10 C Free GPL Yes Yes 1.3 MB
JOVE Johnathon Payne 1983 4.16 1996-03-19 C Free GPL Yes
Kate KDE Project 2000-12 17.12.3 2018-03-08 C++ Free GPL Yes
KEDIT Mansfield Software Group, Inc. 1983 1.6.1 2016-12-05 C $129 Proprietary No Yes 1.1MB
Komodo Edit Activestate open-sourced 2007 10.2.3 2017-07-11 Python, JavaScript, Perl, Tcl, PHP, Ruby Free MPL, GPL, LGPL Yes
Komodo IDE Activestate 2001 11.0.2 2017-12-19 Python, JavaScript, Perl, Tcl, PHP, Ruby $295 Proprietary No
KWrite KDE Project 2000 17.12.3 2017-03-08 C++ Free GPL Yes
LE Alexander V. Lukyanov 1997 1.16.3 2016-06-06 C++ Free GPL Yes
Leo Edward K. Ream 1996 5.7.2 2018-05-07 Python Free MIT Yes
Light Table Chris Granger 2012 0.8.1 2016-01-21 ClojureScript Free MIT Yes
Metapad Alexander Davidson 1999 3.6 2011-05-28 C Free GPL Yes
mg Dave Conroy 1986 current C Free Public domain Yes
MinEd Thomas Wolff 1992 2015.25 2015-03-30 C Free GPL Yes
MS-DOS Editor Microsoft 1991 2.0.026 Bundled with MS-DOS, Microsoft Windows Proprietary No No
Nano Chris Allegretta 1999 3.0 2018-09-09 C Free GPL Yes Yes 0.6 MB
ne Sebastiano Vigna, Todd Lewis, Daniele Filaretti 1993 3.1.1 2017-06-04 C Free GPL Yes
NEdit Mark Edel 1991 5.7 2017-02-08 C Free GPL Yes
Notepad Microsoft 1985 6.0 MASM (originally) Bundled with Microsoft Windows Proprietary No
Notepad++ Don Ho 2003-11-25 7.5.6 2018-03-19 C++ Free GPL Yes
Notepad2 Florian Balmer 2004-04 4.2.25 2011-05-06 C++ Free BSD Yes
NoteTab Eric Fookes, Fookes Software 1995 7.2 2014-11-04 Object Pascal (Delphi) Free, €39.95 Pro Proprietary No
nvi Keith Bostic ? 1.79 C Free BSD Yes
Peppermint Ioannis Zafeiropoulos 2014 1.4 2014-12-07 Objective-C, JavaScript $14.99 Proprietary No
Pico University of Washington 1992 4.64 C Free AL2 Yes
PolyEdit PolySoft Solutions 1998 5.4 2010-04-07 $27.95 Shareware No
PSPad Jan Fiala 2002 5.0.0 (277) 2018-04-24 Object Pascal (Delphi) Free Proprietary No
Q10 Baara Estudio 2007 1.2.21 2011-06-16 ? Free Proprietary No
RJ TextEd Rickard Johansson 2004 13.10 2018-05-07 Object Pascal (Delphi) Free Proprietary No
RText Fifesoft 2003 2.6.3 2017-04-30 Java Free BSD Yes
Sam Rob Pike early 1980s stable C Free LPL (OSI approved) Yes
SciTE Neil Hodgson 1999 4.0.5 2018-04-10 C++ $41.99 for macOS. free for others HPND Yes
SlickEdit SlickEdit, Inc. 1988 21.0.0 2016-10-14 C, Slick-C $299 Proprietary No
Smultron Peter Borg 2004 9.2.3 2017-02-20 Objective-C $5 Proprietary No
Source Insight Source Dynamics ? 4.0.0084 2017-02-26 Source Insight macro language $239-$255 Proprietary No
SubEthaEdit TheCodingMonkeys 2003 4.1 2015-02-25 $35 commercial use Proprietary No
Sublime Text Jon Skinner 2008 3.1.1 (build 3176) 2018-05-14 C++, Objective-C++ (macOS version), Python $80 Proprietary No No 21 MB
TED Notepad Juraj Simlovic 2001 6.1.1 2016-12-04 C Free Freeware No
Textadept Mitchell 2007 9.6 2017-11-01 C, Lua Free MIT Yes
TextEdit Apple Inc. 2001 1.13 2017-07-16 Free (also bundled with macOS) New BSD Yes
TextMate MacroMates 2004-10-10 1.5.11 2012-07-13 Objective-C++ $53 (€39) Proprietary, with MIT components. Version 2 released under GPLv3 Yes (from version 2)
TextPad Helios Software Solutions 1992 8.1.2 2017-03-07 $30.00 (£16.50) Shareware No
TextWrangler Bare Bones Software 2003 5.5.1 2016-07-27 Free Proprietary No
The SemWare Editor Sammy Mitchell 1985-11 4.4 2005-06-24 C, SAL $99 Proprietary No
UltraEdit IDM Computer Solutions 1994 25.0 2018-03-12 C++ $99.95 Proprietary No
VEDIT Ted Green, Greenview Data 1980 6.24.2 2015-01-12 Assembly, C $89 standard, $239 Pro64 Proprietary No
vi Bill Joy 1976 3.7 C Free BSD or CDDL Yes Yes
Vim Bram Moolenaar 1991 8.0.1826 2018-05-12 C, Vim script Free GPL compatible Yes Yes 2.2 MB
Visual Studio Code Microsoft 2015 1.23 2018-05-04 JavaScript, C#, C++, JSON, HTML, PHP, Python, Markdown, TypeScript, CSS Free MIT Yes 180-200 MB
XEmacs Lucid Inc. 1991 21.4.22 2009-01-30 C, Emacs Lisp Free GPL Yes
Yi Don Stewart 2005 0.14 2017-07-25 Haskell Free GPL Yes

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

Text editor support for various operating systems
Name Windows macOS Linux BSD Unix OpenVMS
Acme Partial[3] Yes Yes Yes Yes No
AkelPad Yes No No No No No
Alphatk Yes Yes Yes Yes Yes Yes
Aquamacs No Yes No No No No
Atom Yes Yes Yes No No No
Arachnophilia Yes Yes Yes Yes Yes No
BBEdit No Yes No No No No
Bluefish Yes Yes Yes Yes Yes Yes
Brackets Yes Yes Yes No No No
Coda No Yes No No No No
ConTEXT Yes No No No No No
Crimson Editor Yes No No No No No
CudaText Yes Yes Yes Yes Yes No
ed Partial[4] Yes Yes Yes Yes Yes
EditPlus Yes No No No No No
Editra Yes Yes Yes ? ? ?
EmEditor Yes No No No No No
epsilon Yes Yes[5] Yes Yes Yes No
Geany Yes Yes Yes Yes Yes Yes
gedit Yes Yes[1] Yes Yes Yes No
GNU Emacs Yes Yes Yes Yes Yes Yes
JED Yes Yes Yes Yes Yes Yes
jEdit Yes Yes Yes Yes Yes No
JOE Yes Yes Yes Yes Yes No
JOVE Yes Yes Yes Yes Yes No
Kate Yes Yes Yes Yes Yes No
KEDIT Yes No No No No No
Komodo Edit Yes Yes Yes Yes ? ?
Komodo IDE Yes Yes Yes Yes ? ?
KWrite Yes Yes Yes Yes Yes No
LE Partial[4] Yes Yes Yes Yes No
Light Table Yes Yes Yes No No No
Metapad Yes No No No No No
mg No Yes Yes Yes Yes ?
MinEd Yes Yes Yes Yes Yes Yes
Nano Yes Yes Yes Yes Yes No
ne Partial[4] Yes Yes Yes Yes No
NEdit Partial[4] Yes[6] Yes Yes Yes Yes
Notepad Yes No No No No No
Notepad++ Yes No No No No No
Notepad2 Yes No No No No No
NoteTab Yes No No No No No
nvi No Yes Yes Yes Yes No
Peppermint No Yes No No No No
Pico Yes Yes Yes Yes Yes Yes
PSPad Yes No No No No No
Q10 Yes No No No No No
RJ TextEd Yes No No No No No
RText Yes Yes Yes Yes Yes No
Sam Partial[3] Yes Yes Yes Yes No
SciTE Yes Yes[6] Yes Yes Yes No
SlickEdit Yes Yes Yes No Yes No
Smultron No Yes No No No No
Source Insight Yes No No No No No
SubEthaEdit No Yes No No No No
Sublime Text Yes Yes Yes No No No
TED Notepad Yes No No No No No
Textadept Yes Yes Yes No No No
TextEdit No Yes No No No No
TextMate No Yes No No No No
TextPad Yes No No No No No
TextWrangler No Yes No No No No
The SemWare Editor Yes No No No No No
UltraEdit Yes Yes Yes No No No
Ulysses (text editor) No Yes No No No No
vi Yes Yes Yes Yes Yes Yes
Vim Yes Yes Yes Yes Yes Yes
Visual Studio Code Yes Yes Yes ? ? ?
XEmacs Yes Yes Yes Yes Yes Yes
Yi Partial Yes Yes Yes Yes No

Natural language (localization)

Available languages for the UI
Text EditorLanguages supported
AcmeEnglish
AkelPadEnglish, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish
AlphatkEnglish
AquamacsEnglish
Atom English
BBEditEnglish
BracketsEnglish, German, French, Polish(Outdated), Korean, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish(Outdated)
CodaEnglish, German, French, Spanish
ConTEXTEnglish, German, French, Polish, Italian, Dutch, Portuguese, Spanish
Crimson EditorEnglish
CudaText Main: English. Addons: Japanese, French, Polish, Korean, Hungarian (2018), Greek, German (2017), and 9 others
E Text EditorEnglish
ed
EditPlusEnglish, Korean
EditraEnglish, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
EmEditorEnglish, German, French, Korean, Japanese, Italian, Dutch, Spanish
epsilonEnglish
GeanyEnglish, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
geditEnglish, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
GNU EmacsEnglish
JEDEnglish
jEditEnglish
JOE[7]English, German, French
JOVEEnglish
Kate[8]English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
KEDITEnglish
Komodo EditEnglish
KWriteEnglish, German, Italian, Spanish, Swedish
Metapad[9]English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
minedEnglish
MS-DOS EditorEnglish, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
NanoEnglish, German, French, Italian, Portuguese
NEditEnglish
NotepadEnglish, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
Notepad++English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
Notepad2English, German, French, Polish, Spanish, Swedish
NoteTabEnglish
nviEnglish
PeppermintEnglish
PicoEnglish, Italian
PolyEditEnglish
PSPadEnglish, German, French, Polish, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish
Q10English, German, Italian, Dutch, Portuguese, Spanish
RJ TextEdEnglish, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
RTextEnglish, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
SamEnglish
SciTE[10]English, German, French (Outdated (1.72)), Polish, Japanese (Outdated (1.62)), Italian, Dutch (Outdated (1.67)), Portuguese (Outdated (1.63)), Spanish, Swedish
SlickEditEnglish
SmultronEnglish, German, French, Japanese, Italian, Dutch, Spanish, Swedish
Source InsightEnglish
SubEthaEditEnglish
SublimeTextEnglish
TED NotepadEnglish
TextEditEnglish, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
TextMateEnglish
TextPadEnglish, 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))
TextWranglerEnglish
The SemWare EditorEnglish
UltraEditEnglish, German, French, Korean, Italian, Spanish, Portuguese, Japanese, Chinese
VEDITEnglish
viEnglish
VimEnglish, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Afrikaans, Catalan, Czech, Esperanto, Finnish, Irish, Norwegian, Dutch, Russian, Slovak, Ukrainian, Vietnamese, Chinese
Visual Studio CodeEnglish, German, French, Korean, Japanese, Italian, Russian, Spanish, Chinese
XEmacsEnglish
YiEnglish

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 No Yes
AkelPad Yes Yes Yes Yes Yes
Alphatk Yes Yes Yes Yes Yes
Atom Yes Yes Yes Yes Yes
Aquamacs Yes Yes Yes Yes Yes
BBEdit Yes Yes Yes Yes Yes
Bluefish Yes Yes Yes Yes No
Brackets No No No Yes Yes
Coda Yes Yes Yes Yes Yes
ConTEXT Yes No Yes Yes No
Crimson Editor Yes Yes Yes Yes Yes
CudaText Yes Yes No Yes Yes
E Text Editor Yes No No Yes Yes
ed Yes No No No No
EditPlus Yes Yes Yes Yes Yes
Editra Yes Yes ? Yes ?
EmEditor Yes Yes Yes Yes Yes
Geany Yes Plug-in No Yes No
gedit Yes Plug-in[11] Yes Yes Plug-in[12]
GNU Emacs Yes Yes Yes Plug-in[13][14] Yes
JED Yes Yes No No Yes
jEdit Yes Yes No Yes Yes
JOE Yes Yes No No[15] Yes
JOVE Yes Yes No No Yes
Kate Yes Yes Yes Yes Yes
KEDIT Yes Yes Yes No Yes
Komodo Edit Yes Yes No Yes Yes
Komodo IDE Yes Yes No Yes Yes
KWrite Yes No No No No
LE Yes No No No No
Light Table Yes No No Yes Yes
Metapad Yes No No No No
mined Yes No No[16] Yes 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
Peppermint Yes Yes No Yes Yes
Pico Yes No No No No
PolyEdit No No 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
Sam Yes No Yes No No
SciTE Yes No No Yes[17] 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
Sublime Text Yes Yes No Yes Yes
TED Notepad ? ? ? No ?
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
vi Yes No No No No
Vim Yes Yes Yes[18] Yes[19] Yes
Visual Studio Code Yes Yes No Yes 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

Text editor support for basic editing features
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection
Acme external[20] Yes Yes Yes Yes No
AkelPad Plug-in Yes Yes Yes Yes Yes
Alphatk Yes Yes Yes Yes Yes Yes
Atom Yes Yes Yes Yes Yes Plug-in
Aquamacs Yes Yes Yes Yes Yes Yes
BBEdit Yes Yes Yes Yes Yes Yes
Bluefish Yes Yes Yes Yes Yes No
Brackets Plug-in Yes Plug-in No Yes Yes
Coda Yes Yes Yes Yes Yes Yes
ConTEXT No Partial[21] Partial[22] Yes Yes Yes
Crimson Editor Instant/live (like Firefox) Yes Yes Yes Yes Yes
CudaText No Yes Yes Yes Yes Yes
E Text Editor Plug-in[23] Yes Yes Yes Yes Yes
ed No Yes No No No No
EditPlus Yes Yes Yes Yes Yes Yes
Editra Yes Yes ? ? ? Yes
EmEditor Yes Yes Yes Yes Yes Yes
Geany Plug-in[24] Yes Yes Yes Yes Yes
gedit Yes[25] Plug-in[26] Yes Yes Yes Plug-in[27]
GNU Emacs Plug-in[28] Yes Yes Yes Yes Yes
JED Yes Yes Yes Yes Yes Yes
jEdit Plug-in[29] Yes Yes Yes Yes Yes
JOE Plug-in[30] Partial[31] No[32] Yes Yes Yes
JOVE Yes Yes No No Yes Yes
Kate Yes Yes Yes Yes Yes Yes
KEDIT No Yes No Yes Yes Yes
Komodo Edit Yes Yes Yes Yes Yes Yes
Komodo IDE Yes Yes Yes Yes Yes Yes
KWrite Yes Yes Yes Yes Yes Yes
LE No Yes No[33] Yes Yes Yes
Light Table Plug-in[34] ? No No Yes ?
Metapad Partial[35] No Yes Yes Yes No
mg No Yes[36] No Partial Yes[36] No
MinEd No Yes[37] Yes[38] Yes[39] 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
ne No Yes No No Yes Yes
NEdit Plug-in[40] Yes No Yes Yes Yes
Notepad No No No No No No
Notepad++ Yes[41] Yes Yes Yes Yes Yes
Notepad2 No Limited[42] Yes Yes Yes Yes
NoteTab Yes Yes Yes Yes Yes Yes
nvi No Yes No No Yes ?
Peppermint Yes Yes Yes Yes Yes Yes
Pico Yes No No No No No
PolyEdit Yes Yes Yes Yes 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
Sam No Yes No No Yes No
SciTE No Limited[42] No 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[43]
Sublime Text Yes Yes Yes Yes Yes Yes
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
UltraEdit Yes Limited[44] Yes Yes Yes Yes
VEDIT Yes[45] Yes Yes Yes Yes Yes
vi No Yes No No No No
Vim Yes[46] Yes Yes Yes Yes Yes
Visual Studio Code Plug-in Yes Yes Yes Yes Yes
XEmacs Plug-in[28] 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

Text editor support for programming features (see source code editor)
Syntax highlighting Function list Symbol database
(ctags or equiv.)
Brace matching Auto indentation Auto completion Code folding Text folding Compiler integration
Acme No external[20] external[20] Yes Yes Partial[47] No No external[20]
AkelPad Plug-in Plug-in Plug-in Plug-in Yes Plug-in Plug-in No Plug-in
Alphatk Yes ? ? Yes Yes Yes Yes Yes Yes
Atom Yes Yes Yes Yes Yes Yes Yes Yes Plug-in
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[48]
Brackets Yes Yes No Yes Yes Yes Yes Yes Plug-in
Coda Yes Yes Yes Yes Yes Yes Yes No No
ConTEXT Yes ? ? Yes Yes Yes No No Yes
Crimson Editor Yes No Partial[49] Yes Yes No No No Yes
CudaText Yes Yes Yes Plug-in Yes Plug-in Yes Yes Plug-in
E Text Editor Yes ? ? Yes Yes Yes Yes Yes Yes
ed No No No No No No No No external[50]
EditPlus Yes Yes[51] Partial[49] Yes Yes Yes[52] Yes No Yes
Editra Yes ? ? Yes Yes ? Yes ? ?
EmEditor Yes Plug-in Plug-in Yes Yes Plug-in[53] Yes Yes Yes
Geany Yes Yes Yes[54] Yes Yes Yes Partial No Yes
gedit Yes Plug-in Plug-in Yes Yes Plug-in No Plug-in[55] Yes[56]
GNU Emacs Yes Yes Yes Yes Yes Yes Yes Yes Yes
JED Yes Yes Yes Yes Yes Yes Yes Yes Yes
jEdit Yes Plug-in Plug-in Yes Yes Yes Yes Yes Plug-in
JOE Yes ? Yes Yes Yes ? No No Yes
JOVE No No No Yes Yes No No No Yes
Kate Yes Plug-in Plug-in Yes Yes Yes Yes Yes Plug-in
KEDIT Yes No Macro Yes Yes No Yes Yes Yes
Komodo Edit Yes Yes No Yes Yes Yes Yes Yes No
Komodo IDE Yes Yes Yes Yes Yes Yes Yes Yes Yes
KWrite Yes ? ? Yes Yes Yes Yes Yes No
LE Yes No No Yes Yes No No No No[57]
Light Table Yes No No Yes Yes Yes No No Partial[58]
Metapad No No No No Yes No No No No
mined Yes[59] ? 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
ne Yes No No Yes Yes Yes No No No
NEdit Yes Plug-in Yes Yes Yes Plug-in No No Yes
Notepad No No No No No No No No No
Notepad++ Yes Plug-in Plug-in Yes Yes Yes[60] Yes Yes Yes
Notepad2 Yes No No Yes Yes No No No No
NoteTab Partial[61] ? ? No ? Yes ? ? Yes
nvi No ? Yes Yes Yes Yes No No No
Peppermint Yes Yes Yes Yes Yes Yes Yes Yes Yes
Pico No No No No No No No No No
PolyEdit Yes No No No No No No No No
PSPad Yes Yes Plug-in Yes Yes Yes No No Yes
Q10 ? ? ? ? ? ? ? ? ?
RJ TextEd Yes Yes Yes Yes Yes Yes Yes Yes Yes
RText Yes Plug-in No Yes Yes No No No No
Sam No No No No No No No No external[62]
SciTE Yes No[63] ? Yes Yes Yes Yes Yes Yes
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 Plug-in[64] 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 Plug-in Yes Yes Yes[65] Yes Yes No
TextPad Yes No Plug-in[66] Yes Yes No No No Yes
TextWrangler Yes Yes No Yes Yes Yes Yes Yes Plug-in[67]
The SemWare Editor Yes Yes Plug-in[68] Yes Yes Yes[69] Partial[70] No Yes
UltraEdit Yes Yes Partial[71] Yes Yes Yes Yes Yes Yes
VEDIT Yes Yes Yes Yes Yes Yes[72] No No Yes
vi No No Yes Yes No No No No Yes
Vim Yes Plug-in[73] Yes Yes Yes Yes Yes Yes Yes
Visual Studio Code Yes Yes Yes Yes Yes Yes Yes Yes Yes
XEmacs Yes ? Yes Yes Yes Yes Yes Yes Yes
Yi Yes[74] No Yes[75] 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, 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

Text editor support for other programming features
Text shell integration Graphical shell integration Macro language Collaborative editing Large file support Long line support Multi-line regex support[76] Search in files
Acme Yes No Extensible No ? ? Yes ?
AkelPad Yes Yes Yes No memory Yes Yes Plug-in
Alphatk Yes Yes Yes[77] No ? ? ? ?
Aquamacs Yes Yes Yes Yes memory ? Yes ?
Atom No[78] ? Plug-in[79] Yes No 2-5 MB [80] 100B [81] No [82] Yes
BBEdit Yes Yes Yes[83] No memory[84] ? Yes Yes
Bluefish No Yes ? Yes ? ? Yes ?
Brackets Yes Yes Extensible No No ? Partial Yes
Coda Yes No Yes[85] Yes ? ? Yes Yes
ConTEXT No Yes Yes No memory[86] ? No ?
Crimson Editor No Yes Yes No No ? No ?
CudaText No No Plug-in No ? ? Yes Plug-in
E Text Editor Yes Yes No[87] Yes Yes ? Yes ?
ed Yes No Yes No ? ? ? Yes
EditPlus ? Yes Yes No memory ? Yes Yes
Editra ? ? ? ? 2 GB ? ? ?
EmEditor Yes Yes Yes No Yes ? Yes Yes
Geany Yes ? Plug-in ? ? ? Yes Yes
gedit Yes Yes Yes[88] Plug-in No ? No No
GNU Emacs Yes Yes Yes Yes 2 EB on 64-bit OS[89][90] Yes Yes Yes
JED Yes No Yes No memory[91] Yes No Plug-ins
jEdit Yes No Yes No No (heap)[92] ? Yes Yes
JOE Yes No Yes No Yes ? ? Yes[93]
JOVE Yes No No No memory ? No No
Kate Yes Yes No No No[94] ? Yes Plug-in
KEDIT Yes Yes Yes No Yes 10Kb Yes No
Komodo Edit ? ? Yes[95] No ? ? Yes Yes
Komodo IDE ? ? Yes[95] Yes ? ? Yes Yes
KWrite No No No No No[94] No[96] No ?
LE Yes No No No[97] memory[98] ? Yes ?
Light Table No Yes No No ? ? No Yes
Metapad Yes Yes No No memory[99] ? No No
mined ? ? ? ? ? ? Yes ?
EDIT (MS-DOS) No No No No No (64~300 KB) No No No
EDIT (DR-DOS) No No No No 2 GB, for as long as there is disk swap space for two temporary files Yes No No
Nano Yes No No No ? ? ? ?
Text shell integration Graphical shell integration Macro language Collaborative editing Large file support Long line 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 plug-in 2GB, 64Bit more in Test[100][101] ? Yes Yes
Notepad2 No No No No memory[102] ? No ?
NoteTab ? ? Yes ? No ? Yes[103] ?
nvi Yes No No ? ? ? ? ?
Peppermint Yes Yes Yes No Yes Yes Yes Yes
Pico ? ? ? No ? ? ? ?
PolyEdit Yes Yes No No Yes ? Yes ?
PSPad Yes Yes Yes No memory[104] ? with plug-in Yes
Q10 ? ? ? ? ? ? ? ?
RJ TextEd Yes Yes Yes No No ? Yes ?
RText No No Yes No No ? Yes ?
Sam Yes No Yes No ? ? Yes external[62]
SciTE ? ? Yes No No ? No Yes
SlickEdit Yes Yes Yes No 2 TB Yes 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[105] ? Yes Yes
TextWrangler Yes Yes Yes No memory[84] ? Yes ?
The SemWare Editor Yes Yes Yes Yes Only in special DOS multi-user version 2 GB Yes ? Yes
UltraEdit Yes Yes Yes No Yes Yes Yes Yes
VEDIT Yes Yes Yes No Yes ? Yes Yes
vi Yes No Yes No approx. 65 MB ? Yes Yes
Vim Yes Yes Yes with plug-in[106] memory[107] Yes Yes Yes
Visual Studio Code Yes Yes Yes No ? ? Yes Yes
XEmacs Yes Yes Yes Yes on 64-bit OS[89] ? Yes Yes
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:

Yes = Larger than 4 GB (LFS) 2 GB = Larger than 1 GB, not limited by memory
memory = Limited by available memory    No (64 KB) = 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.[108]

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.

Text editor support for key bindings.
Dynamically customizable IBM CUA macOS Vi Emacs Pico WordStar WordPerfect Brief
Acme No No No No No No No No No
AkelPad Yes ? ? ? ? ? ? ? ?
Alphatk ? ? ? ? ? ? ? ? ?
Aquamacs Yes ? Yes Yes Yes ? ? ? ?
BBEdit[109][110] Yes ? Yes ? Yes ? ? ? ?
Bluefish Yes ? Yes ? ? ? ? ? ?
Brackets Yes Partial Yes Plug-in Plug-in No No No No
Coda Yes ? Yes ? ? ? ? ? ?
ConTEXT ? ? ? ? ? ? ? ? ?
Crimson Editor ? ? ? ? ? ? ? ? ?
CudaText Yes ? ? ? ? ? ? ? ?
E Text Editor ? ? ? ? ? ? ? ? ?
ed No No No No No No No No No
EditPlus Yes ? ? ? ? ? ? ? ?
Editra No No No Yes No No No No No
EmEditor Yes ? ? ? ? ? ? ? ?
epsilon Yes ? ? ? Yes ? ? ? Yes
Geany Yes ? ? ? ? ? ? ? ?
gedit Yes[111] ? ? ? ? ? ? ? ?
GNU Emacs Yes Yes Yes Yes Yes Partial[112] Yes[113] Yes[114] Yes[114]
JED Yes Partial[115] ? Yes Yes ? Yes ? Yes
jEdit Yes ? Yes Yes ? ? ? ? ?
JOE[116] Yes No No No Yes Yes Yes No No
JOVE Yes No No No Yes No Yes[117] No No
LE Yes ? ? No ? ? ? ? ?
Light Table Yes Partial ? Plug-in Plug-in ? ? ? ?
Kate Yes No No Yes[118] No No No No No
KEDIT Yes Yes No No No No No No No
Komodo Edit Yes ? Yes Yes Yes ? ? ? ?
Komodo IDE Yes ? Yes Yes Yes ? ? ? ?
KWrite Yes ? ? ? ? ? ? ? ?
Metapad ? ? ? ? ? ? ? ? ?
mg ? ? ? ? Yes ? ? ? ?
mined ? ? ? ? Yes Yes Yes ? ?
MS-DOS Editor No No No No No No No No No
Nano Yes No No No Partial[119] Yes No No 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 ? ? ? ? ?
Peppermint Yes No Yes Yes Yes No No No No
Pico No No No No Partial[119] Yes No No No
PolyEdit ? ? ? ? ? ? ? ? ?
PSPad Yes ? ? ? ? ? ? ? ?
Q10 ? ? ? ? ? ? ? ? ?
RJ TextEd Yes ? ? ? ? ? ? ? ?
RText Yes ? ? ? ? ? ? ? ?
Sam No No No No No No No No No
SciTE Partial[120] ? ? No No No ? ? ?
SlickEdit Yes[121] Yes Yes[122] Partial[123] Yes No No No Yes
Smultron ? ? ? ? ? ? ? ? ?
Source Insight Yes ? No No No No ? ? ?
SubEthaEdit No No Yes No No No No No No
Sublime Text Yes No Yes Yes Yes No No No No
TED Notepad ? ? ? ? ? ? ? ? ?
TextEdit No No Yes No No No No No No
TextMate No No Yes No No No No No No
TextPad Yes ? ? ? ? ? ? ? ?
TextWrangler[109][124] Yes ? Yes No Yes No ? ? ?
The SemWare Editor Yes ? ? ? ? ? ? ? ?
UltraEdit Yes ? No ? ? ? ? ? ?
VEDIT Yes Yes No No[125] No No Yes Yes Yes
vi Yes No No Yes No No No No No
Vim Partial Plug-in[126] [127] Yes[128] Partial[129] No No No Plug-in[130]
Visual Studio Code Yes No Yes Plug-in[131] Plug-in[132] No No No No
XEmacs Yes Yes Yes Yes Yes Partial[112] Yes[113] Yes[114] Yes[114]
Yi Yes Yes Yes Yes Yes Yes No No No
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>.[133][134]
  • 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

Support for editing files over a network or the Internet.

Text editor support for remote file editing over network protocols
FTP HTTP SSH WebDAV
Acme Yes Yes Yes Yes
AkelPad No No No No
Alphatk Yes No No Yes
Aquamacs Yes Yes Yes Yes[135]
BBEdit Yes No Yes No
Bluefish Yes Yes Yes Yes
Brackets Plug-in No No No
Coda Yes Yes Yes Yes
ConTEXT No[136] ? No[136] ?
Crimson Editor Yes No No No
CudaText Yes 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
JED No No No No
jEdit Plug-in[137] Yes[138] Plug-in[137] Plug-in.
JOE No No No No
JOVE No No No No
LE No No No No
Kate Yes Yes Yes Yes
KEDIT No No No No
Komodo IDE FTP, FTPS, 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++ Plug-in for FTP, FTPS, FTPES, SFTP No Plug-in No
Notepad2 No No No No
NoteTab No[139] ? No[139] ?
nvi No No No No
Peppermint Yes No Yes No
Pico No No No No
PolyEdit No No No No
PSPad Yes No No No
Q10 ? ? ? ?
RJ TextEd FTP, SFTP No Yes No
RText No No No No
Sam No No No No
SciTE No No No No
SlickEdit Yes Yes Yes No
Smultron Yes ? ? ?
Source Insight No No No No
SubEthaEdit Yes No No No
Sublime text Plug-in [140] Plug-in [141] Yes Plug-in [142]
TED Notepad No[143] ? No[143] ?
TextEdit No No No No
TextMate Yes[135] No No No
TextPad No No No No
TextWrangler Yes[144] FTP, SFTP No Yes No
The SemWare Editor No No No No
UltraEdit Yes No Yes No
VEDIT Yes No No No
vi No No No No
Vim Plug-in[145] Plug-in[145] Plug-in[145] Plug-in[145]
Visual Studio Code No No No No
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.

Text editor support for some of the most common character encodings
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16
Acme Yes ? ? ? Yes ?
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
Brackets Yes No No No Yes No
Coda Yes Yes Yes ? Yes Yes
ConTEXT Yes Yes Partial[146] No No No
Crimson Editor Yes Yes Partial[146] No Partial No
CudaText Yes Yes Yes ? Yes Yes
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[147] Yes[148]
JED Yes Yes Yes ? Yes Partial[149]
jEdit Yes Yes Yes Yes Yes Yes
JOE Yes ? ? ? Yes No
JOVE Yes No No No No No
LE Yes ? ? ? Yes No
Kate Yes Yes ? ? Yes Yes
KEDIT Yes Yes Partial[146] No No No
Komodo Edit Yes Yes No No Yes Yes
Komodo IDE Yes Yes No No Yes Yes
KWrite Yes ? ? ? Yes Yes
Metapad Yes Yes Partial[146] No No No
mined Yes Yes Yes ? Yes Yes
MS-DOS Editor Yes ? Yes ? ? ?
Nano Yes Yes ? ? Yes No
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16
NEdit Yes ? ? ? No No
Notepad Yes Yes Partial[146] No Yes Yes
Notepad++ Yes Yes No Plug-in? Yes Yes
Notepad2 Yes Yes Yes No Yes Yes
NoteTab Yes ? Yes Yes Partial[150] Partial[150]
nvi Yes ? ? ? Yes[151] No
Peppermint Yes Yes Yes ? Yes Yes
Pico Yes No No No Yes No
PolyEdit Yes ? ? ? Yes Yes
PSPad Yes Yes Yes ? Yes Yes
Q10 ? ? ? ? ? ?
RJ TextEd Yes Yes Yes Yes Yes Yes
RText Yes Yes Yes Yes[152] Yes Yes
Sam Yes ? ? ? Yes No
SciTE[153] Yes No No No Yes Yes
SlickEdit Yes Yes Yes Yes Yes Yes
Smultron Yes ? ? ? Yes Yes
Source Insight Yes ? ? ? No No
SubEthaEdit Yes Yes Yes Yes Yes Yes
Sublime Text Yes Yes Yes Yes Partial[154] Yes
TED Notepad Yes ? ? ? Yes Yes
TextEdit Yes Yes ? ? Yes Yes
TextMate Yes Yes ? ? Yes Yes
TextPad Yes ? ? ? Partial[155] Partial[155]
TextWrangler Yes Yes Yes Yes Yes Yes
The SemWare Editor Yes Yes[156] Partial[146] Plug-in No No
UltraEdit Yes Yes Yes Yes Yes Yes
VEDIT Yes Yes Yes Yes Partial[157] Partial[157]
vi Yes ? ? ? Yes No
Vim Yes Yes Yes Partial[158] Yes Yes
Visual Studio Code Yes Yes Yes ? Yes Yes
XEmacs Yes Yes ? ? Yes[159] 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 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) & bidirectional (bidi) support
Right-to-left (RTL) Bi-directional (Bidi)
Acme No No
AkelPad No No
Alphatk ? ?
Aquamacs ? ?
Atom No No
BBEdit No No
Bluefish Yes Yes
Brackets ? ?
Coda ? ?
ConTEXT ? ?
Crimson Editor ? ?
E Text Editor ? ?
ed ? ?
EditPlus No No
Editra ? ?
EmEditor No No
Geany ? ?
gedit Yes Yes
GNU Emacs Yes Yes[160]
JED ? ?
jEdit No No
JOE ? ?
JOVE No No
LE ? ?
Kate Yes Yes
KEDIT No No
Komodo Edit No No
Komodo IDE No No
KWrite ? ?
Metapad ? ?
MS-DOS Editor ? ?
mined Yes[161] Yes[161]
Nano ? ?
RTL Bidi
NEdit ? ?
Notepad Yes Yes
Notepad++ Yes Partial[162]
Notepad2 No No
NoteTab ? ?
nvi ? ?
Peppermint No No
Pico ? ?
PolyEdit ? ?
PSPad ? ?
Q10 ? ?
RJ TextEd Yes Yes
RText ? ?
Sam No No
SciTE No No
SlickEdit ? ?
Smultron ? ?
Source Insight No No
SubEthaEdit Yes Yes
Sublime Text No No
TED Notepad ? ?
TextEdit Yes Yes
TextMate No No
TextPad ? ?
TextWrangler No No
The SemWare Editor No No
UltraEdit No No
VEDIT ? ?
vi ? ?
Vim Yes through terminal support
Visual Studio Code No No
XEmacs ? ?
Yi ? ?
RTL Bidi

Newline support

Support for newline characters in line endings
Windows (CR/LF) Unix-like systems (including macOS[163]) (LF) Classic 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
Brackets Yes Yes No
Coda Yes Yes Yes
ConTEXT Yes Yes Yes
Crimson Editor Yes Yes Yes
CudaText Yes Yes 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[164] Yes Yes Yes
JED Yes Yes Yes
jEdit Yes Yes Yes
JOE[165] Yes Yes No
JOVE Yes Yes Yes
Kate Yes Yes Yes
KEDIT Yes Yes Yes
Komodo Edit Yes Yes Yes
Komodo IDE Yes Yes Yes
KWrite Yes Yes Yes
LE Yes Yes No
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 ?
Peppermint Yes Yes Yes
Pico Yes Yes Yes
PolyEdit Yes Yes Yes
PSPad Yes Yes Yes
Q10 Yes Yes Yes
RJ TextEd Yes Yes Yes
RText Yes Yes Yes
Sam ? ? ?
SciTE Yes Yes Yes
SlickEdit Yes Yes Yes
Smultron Yes Yes Yes
Source Insight Yes Yes Yes
SubEthaEdit Yes Yes Yes
Sublime Text 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
VEDIT Yes Yes Yes
vi No Yes No
Vim Yes Yes Yes
Visual Studio Code Yes Yes Yes
XEmacs Yes Yes Yes
Yi ? Yes ?
Windows (CR/LF) Unix-like systems (including macOS) (LF) Classic Mac OS (CR)

See also

Notes and references

  1. 1 2 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.
  2. Includes 1.34M S-Lang Runtime
  3. 1 2 No native support, available as a part of the Inferno port for Windows.
  4. 1 2 3 4 Requires Cygwin to run on Windows.
  5. "Epsilon version 13".
  6. 1 2 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.
  7. "JOE - Joe's own editor". JOE - Joe's own editor / Mercurial / [2e4f45] /po. Retrieved 23 October 2015.
  8. "KDE Localization - Apps » stable » kate.po".
  9. "Metapad language plugins".
  10. "SciTE in languages other than English".
  11. gedit supports single document window splitting via plug-ins. .
  12. gedit supports multiple document window splitting via plug-ins. .
  13. GNU Emacs can use a tabbed document interface in a non OS-native way, using the tabbar plug-in.
  14. GNU Emacs can support a tabbed document interface modelled after GNU Screen using the elscreen package.
  15. 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.
  16. mined supports Copy/Paste between multiple documents in separate windows, when these documents are in separate terminal windows
  17. SciTE has a maximum number of buffers, which can only be set as high as 100.
  18. Vim Provided GVim is used.
  19. Vim version 7 supports a tabbed document interface. Earlier versions can emulate tabs through scripts, for example TabBar.
  20. 1 2 3 4 Acme can invoke external commands and display their return values in order to integrate additional functionality.
  21. ConTEXT does not support regular expression backreferences in its search and replace function.
  22. ConTEXT only supports converting text to UTF-16. Also, it can only use one type of new-line format if converting to UTF-16.
  23. e supports spell checking via a bundle command available at the e Bundles repository.
  24. Geany supports spell checking via a plug-in Archived 2008-09-24 at the Wayback Machine., but not for Windows at the moment.
  25. gedit supports spell checking via a plug-in, which is distributed with gedit.
  26. gedit supports Regex-based find & replace via plug-ins ().
  27. "Gedit/Plugins/ColumnMode - GNOME Wiki!". Archived from the original on 2012-01-11.
  28. 1 2 Emacs supports spell checking via the external programs ispell, aspell, or Hunspell.
  29. jEdit supports spell checking via an external plug-in.
  30. JOE supports spell checking via the ispell or aspell external plug-ins.
  31. JOE uses a non-standard regular expression syntax.
  32. 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.
  33. LE can pipe text through the GNU recode(1) utility
  34. https://github.com/rschroll/lt-spelling
  35. Metapad spell checking by calling external program Aspell.
  36. 1 2 http://openbsd.su/src/usr.bin/mg/re_search.c
  37. mined supports multiple lines in search and replacement expressions.
  38. mined can convert the encoding format when using the Copy & Paste feature between multiple documents (that have different encodings).
  39. 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.
  40. NEdit supports spell checking via a plug-in
  41. Notepad++ 6.3.3 and above support spell checking via the DSpellCheck plug-in, which is included with the default package.
  42. 1 2 Scintilla-based editors such as SciTE, Notepad2 and Notepad++ do not support alternation (|) in regular expressions.
  43. SubEthaEdit supports advanced block editing, including multi-line typing and non-contiguous block selections.
  44. UltraEdit uses the Boost C++ regex library. While Boost supports backreferences past \9 with \g{10}, UltraEdit has not yet implemented this feature.
  45. 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.
  46. Vim version 7 supports spell checking natively. Earlier versions require a script shown here.
  47. Acme's auto-completion only works on file names.
  48. bluefish: Configurable via the outputbox feature.
  49. 1 2 With external tool OpenCTags
  50. ed can invoke external commands, like a compiler.
  51. editplus: Opens in a window, not really integrated.
  52. editplus: Enabled by editing the corresponding .acp file.
  53. EmEditor Professional supports Auto Complete via plug-ins (32-bit or 64-bit).
  54. Geany uses its own tags file format, not compatible with ctags, see the manual.
  55. gedit-folding: Folding plug-in for Gedit
  56. gedit: Compiler integration: Functionality in plug-ins installed with gedit.
  57. make can be launched from the LE text editor, but the output is not captured
  58. Evaluates expressions in some dynamic languages such as Clojure, Python and Javascript in realtime
  59. mined: Syntax highlighting: HTML/XML, Javascript, JSP.
  60. Notepad++: Auto complete: Supported via supplied/user-created lists.
  61. NoteTab: Syntax highlighting only for html documents and NoteTab clip/scripts.
  62. 1 2 It is possible to start external applications from inside Sam and display their return values.
  63. Function list (and stuff) available in Ru-Board build, ver 1.79.66Ru and later
  64. Available from an add-on ()
  65. TextMate: Auto complete: Supported language bundles
  66. Textpad uses an add-on ()
  67. 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.
  68. TSE uses a macro
  69. The Semware Editor: Auto complete: Supported via supplied/user-created lists.
  70. The Semware Editor: Text folding: Compressed view possible.
  71. Not in the Linux version.
  72. Vedit: Auto complete: Template editing, plus 3rd party macro for expanding symbols from tags database.
  73. Vim has a popular TagList plug-in that provides a function list.
  74. unlike most editors that use regexps or ad hoc parsing, Yi" uses an algorithm of incremental parsing to dynamically update the syntax highlighiting
  75. currently supports only haskell with hasktags -c
  76. Multi-line regex support Support for expressions spanning several lines (e.g. "\n\n(.+)\n\n")
  77. Alpha Macro support via AppleScript, Tcl or text factories.
  78. GitHub: Feature Request: Integrated Shell/Terminal Access #14490
  79. atom macros
  80. Large file support #307
  81. atom supported more long lines but just afther create custom bulid
  82. GitHub
  83. BBEdit Macro support via AppleScript, Perl, Python, Lasso, shell scripts or text factories.
  84. 1 2 BBEdit and TextWrangler are technically capable of any size file, but limited practically by RAM and macOS limitation to files = 384mb. Cf. BBEdit FAQ Entry 36 Archived 2007-06-09 at the Wayback Machine..
  85. Coda offers macros via AppleScript, text "clips," or plug-ins (Cocoa apps or any installed scripting language).
  86. ConTEXT claims Large File Support but load time is proportional to file size and a 1 GB file gave an Out of Memory error.
  87. e Macro support via Cygwin and languages like Ruby, Python, or Perl.
  88. Cssed Macro support via Python.
  89. 1 2 Emacs: 64-bit compilation on 64-bit OS can handle 2 GB files, otherwise the limit is 512 MiB.
  90. "Buffers". A buffer’s size cannot be larger than some maximum, which is defined by the largest buffer position representable by Emacs integers. This is because Emacs tracks buffer positions using that data type. For typical 64-bit machines, this maximum buffer size is 2^{61} - 2 bytes, or about 2 EiB. For typical 32-bit machines, the maximum is usually 2^{29} - 2 bytes, or about 512 MiB. Buffer sizes are also limited by the amount of memory in the system.
  91. "The JED Editor" (PDF).
  92. jEdit: Limited by Java heap size. jedit-users forum
  93. "JOE - Joe's Own Editor". JOE - Joe's own editor / Mercurial / [2e4f45] /docs/man.md. Retrieved 23 October 2015. The search covers all loaded buffers.
  94. 1 2 kwrite-devel, Large Files open slowly due to futile Syntax-Highlighting
  95. 1 2 "Macros".
  96. Lines longer than ~700 characters frequently cause crashes. KatePart documentation (which is also the KWrite documentation, see here)
  97. LE text editor locks the file and warns if someone else has changed the file
  98. LE text editor can view and edit large files or their parts in mmap-shared mode
  99. metapad FAQ, Loading Large Files
  100. https://notepad-plus-plus.org/community/topic/14589/file-size-limit-on-the-notepad-7-x64
  101. "Question Defense, Windows: File Is To Big To Be Opened By NotePad++, Use Wordpad As Alternative".
  102. "Notepad2 -- Frequently Asked Questions (FAQs)".
  103. NoteTab: Standard and Pro versions only.
  104. "PSPad Forum".
  105. "mozillaZine: Edit large mbox files".
  106. CoVim
  107. 2GB with 32 Bits, on a 64 Bit system it depends on the available virtual memory.
  108. Comparison of Windows Text Editors for Large Files: Text editors for large files
  109. 1 2 "Bare Bones Software | BBEdit Comparison Chart".
  110. "Bare Bones Software | Features (BBEdit)".
  111. It is possible to customize all Gedit shortcuts because it is Gtk based.
  112. 1 2 pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Archived 2012-09-05 at the Wayback Machine. retrieved 2012-01-09.
  113. 1 2 GNU Emacs can have Wordstar emulation, with the command M-x wordstar-mode, as found from ws-mode.el retrieved 2017-03-14. See also the "Emulation" section of the GNU Emacs manual Archived 2016-03-04 at the Wayback Machine..
  114. 1 2 3 4 "Archived copy". Archived from the original on 2016-03-04. Retrieved 2016-07-22.
  115. 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.
  116. "JOE - Joe's Own Editor". JOE - Joe's own editor / Mercurial / [2e4f45] /docs/man.md. Retrieved 23 October 2015. JOE also emulates several other editors. JSTAR is a close imitation of WordStar […]. JPICO is a close imitation of the Pine mailing system's PICO editor […]. JMACS is a GNU-EMACS imitation. […] Key binding tables are defined. You can define as many as you like […].
  117. "Usenet - megalextoria".
  118. Kate supports an optional VI Input Mode Archived 2009-02-28 at the Wayback Machine..
  119. 1 2 pico (and nano) uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Archived 2012-09-05 at the Wayback Machine. retrieved 2012-01-09.
  120. In SciTE, custom keystrokes may be assigned to Lua scripts, external programs or lexers (highlighters).
  121. SlickEdit provides emulation of VisualStudio, Visual C++ 6, CodeWright, Epsilon and ISPF key bindings in addition to those given in the table.
  122. SlickEdit supports CodeWarrior, Xcode and BBEdit key binding emulation.
  123. SlickEdit includes support of vi key bindings, the ex command line and some, but not all Vim extensions.
  124. "Bare Bones Software | Features (TextWrangler".
  125. Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
  126. cua-mode.vim
  127. ViFinder
  128. Vim emulates vi keys fully when in 'compatible' mode
  129. Vim With a script such as Vimacs
  130. brief.vim
  131. Vim emulation for Visual Studio Code
  132. Basic Emacs keybindings for VS Code
  133. "Vim - General - unable to map ctrl-1". vim.1045645.n5.nabble.com. Retrieved 2017-11-30.
  134. "Vim - General - How to map (say) Ctrl-Shift-B". vim.1045645.n5.nabble.com. Retrieved 2017-11-30.
  135. 1 2 Aquamacs Supported via a macOS mounted volume.
  136. 1 2 Text Editor Features at ConTEXT.cx
  137. 1 2 jEdit FTP and SFTP are supported via the FTP plug-in.
  138. jEdit: "HTTP is supported natively"
  139. 1 2 Comparison Chart at NoteTab.com
  140. Sublime SFTP
  141. Sublime Http Requester
  142. Sublime WebDAV sync
  143. 1 2 TED Notepad Manual
  144. Bare Bones Software | TextWrangler Tour
  145. 1 2 3 4 Vim Supported via netrw plug-in distributed in the standard Vim installation.
  146. 1 2 3 4 5 6 when choosing e.g. Terminal font
  147. GNU Emacs: While GNU Emacs supports the UTF-8 encoding, it doesn't fully support the Unicode standard, since it doesn't fully support the Unicode Bidirectional Algorithm (see comment in the 'Right-to-left and bidirectional text' section below).
  148. GNU Emacs: While GNU Emacs supports the UTF-16 encoding, it doesn't fully support the Unicode standard, since it doesn't fully support the Unicode Bidirectional Algorithm (see comment in the 'Right-to-left and bidirectional text' section below).
  149. JEDs ms-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.
  150. 1 2 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.
  151. nvi Gentoo
  152. RText supports EBCDIC n z/OS and anywhere with a JVM that supports it
  153. SciTE can open files in UTF or one single-byte encoding specified in a configuration file.
  154. Sublime supports Unicode editor but you can not open and edit some the language. e.g. Bangla, Thai https://github.com/SublimeTextIssues/Core/issues/663
  155. 1 2 TextPad can load and save UTF-8 and UTF-16 text files, but cannot use or even preserve characters outside of the system encoding.
  156. when choosing e.g. New Courier font
  157. 1 2 Vedit can convert UTF-8 and UTF-16 files to Windows character set and back. Characters not included in Windows charset can be preserved.
  158. Vim supports EBCDIC when compiled on a system that uses the EBCDIC character set.
  159. from version 21.5.29
  160. 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.
  161. 1 2 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
  162. Notepadpp: Scintilla (Notepad++'s Engine) does not really support bidirectional editing. https://sourceforge.net/p/scintilla/bugs/757/#01c9
  163. "Did Mac OS Lion switch to using line feeds (LF '\n') for line breaks instead of carriage returns (CR '\r')?".
  164. GNU Emacs: GNU Emacs doesn't regard the newline marker as a paragraph separator in bidi texts. See comment in the 'Right-to-left and bidirectional text' section.
  165. "JOE - Joe's Own Editor". JOE - Joe's own editor / Mercurial / [2e4f45] /docs/man.md. Retrieved 23 October 2015. character sets must use LF (0x0A) or CR-LF (0x0D - 0x0A) as line terminators […]. […] character sets which use CR terminated lines (MACs) will not yet work.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.