This article compares notable text editors. It may not be up-to-date or all-inclusive. Comparisons are between stable versions (not upcoming or beta releases) and are exclusive of any add-ons, extensions or external programs unless otherwise noted.

Other features can be listed via the Category of text editor features.

General attributes

NameDeveloperInitial releaseLatest releaseProgram­ming languageCost (US$)LicenseGUITUI or CLI
VersionDate
AcmeRob Pike1993Plan 9 and InfernoC
AlphatkVince Darley1999
AtomGitHub2014HTML, CSS, JavaScript, C++
BBEditRich Siegel1992Objective-C, Objective-C++
BluefishBluefish Development Team1999C
BracketsAdobe Systems2012HTML, CSS, JavaScript, C++
CodaPanic2007Objective-C
ConTEXTConTEXT Project Ltd1999Object Pascal (Delphi)
Crimson EditorIngyu Kang1999C++
edKen Thompson1970unchanged from originalC
EditraCody Precord20070.7.202013-01-05Python
EmEditorEmurasoft, Inc.199721.3.02021-11-24C++
epsilonLugaru Software198414.00[1]2020-10-20C
FeatherPadPedram Pourang2016C++, Qt
FocusWriterGraeme Gott2008C++, Qt
geditGNU Project2000C
GeanyEnrico Tröger2005C, GTK+
GNU EmacsRichard Stallman1984C, Emacs Lisp
GNU nanoChris Allegretta1999C
IA WriterInformation Architects2010.09.227.22025-08-25Objective-C (iOS), Objective-C (macOS), C# (Windows), Java (Android)
JEDJohn E. Davis1992C, S-Lang
jEditSlava Pestov1998Java
JOEJoseph Allen1988C
JOVEJohnathon Payne1983C
KateKDE Project2000-12C++
KEDITMansfield Software Group, Inc.19831.6.12016-12-05C
Komodo EditActivestate2007Python, JavaScript, Perl, Tcl, PHP, Ruby
Komodo IDEActivestate2001Python, JavaScript, Perl, Tcl, PHP, Ruby
KWriteKDE Project2000C++
LEAlexander V. Lukyanov1997C++
LeoEdward K. Ream1996Python
Light TableChris Granger2012ClojureScript
mceditMiguel de Icaza1994C, Python, PHP, Javascript, Perl, Tcl, Ruby
MetapadAlexander Davidson1999C
mgDave Conroy1986current[a]2020-07-22C
MinEdThomas Wolff19922022.272022-12-23C
MS-DOS EditorMicrosoft19912.0.026
neSebastiano Vigna
Todd Lewis
Daniele Filaretti
1993C
NEditMark Edel1991C
NotepadMicrosoft198511.2302.16.0MASM (originally)
Notepad++Don Ho2003-11-25C++
nviKeith Bostic1994C
PicoUniversity of Washington19924.64C
PolyEditPolySoft Solutions19985.420100407
PSPadJan Fiala2002Object Pascal (Delphi)
RJ TextEdRickard Johansson2004Object Pascal (Delphi)
SamRob Pike1980s (early)stableC
SciTENeil Hodgson1999C++
SlickEditSlickEdit, Inc.198828.0.12024-01-21C, Slick-C
SmultronPeter Borg2004Objective-C
SubEthaEditTheCoding­Monkeys2003
Sublime Text2008
TED NotepadJuraj Simlovic2001C
TextadeptMitchell2007C, Lua
TextEditApple Inc.2001
TextMateMacroMates2004-10-10Objective-C++
TextPadHelios Software Solutions1992
TextWranglerBare Bones Software20035.5.22016-09-20
The SemWare EditorSammy Mitchell1985-11C, SAL
UltraEditIDM Computer Solutions199425.02018-03-12C++
VEDITTed Green, Greenview Data19806.24.22015-01-12Assembly, C
viBill Joy19763.7Cor CDDL
VimBram Moolenaar1991C, Vim script
Visual Studio CodeMicrosoft2015JavaScript, TypeScript
XEmacsLucid Inc.1991C, Emacs Lisp
XNEditOlaf Wintermann20181.5.22023-10-05C

Operating system support

WindowsmacOSLinuxBSDUnixOpenVMS
Acme
[b]
Alphatk
Atom
Arachnophilia
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
ed
[c]
Editra
EmEditor
epsilon
[2]
Geany
gedit
[d]
GNU Emacs
JED
jEdit
JOE[dubious – discuss]
JOVE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
LE
[c]
Light Table
Metapad
mg
MinEd
GNU nano
ne
[e]
NEdit
[c]

[f]
Notepad
Notepad++
nvi
Pico
PSPad
RJ TextEd
Sam
[b]
SciTE
[f]
SlickEdit
Smultron
SubEthaEdit
Sublime Text
TED Notepad
Textadept
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
Ulysses (text editor)
vi
Vim
Visual Studio Code
XEmacs
XNEdit
[c][g]

[f]

Natural language (localization)

Languages
AcmeEnglish
AlphatkEnglish
AtomEnglish
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
ed
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[3]English, German, French
JOVEEnglish
Kate[4]English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
KEDITEnglish
Komodo EditEnglish
KWriteEnglish, German, Italian, Spanish, Swedish
Metapad[5]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
nviEnglish
PicoEnglish, Italian
PolyEditEnglish
PSPadEnglish, German, French, Polish, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish
RJ TextEdEnglish, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
SamEnglish
SciTE[6]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
SubEthaEditEnglish
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
VimAfrikaans, Catalan, Chinese(Simplified), Chinese(Taiwan), Czech, Danish, Dutch, German, English(UK), English(US), Esperanto, Finnish, French, Irish, Italian, Japanese, Korean, Latvian, Norwegian(Bokmål), Polish, Portuguese(Brazil), Russian, Serbian, Slovak, Spanish, Swedish, Ukrainian, Vietnamese
Visual Studio CodeEnglish, Bulgarian, Chinese, French, German, Hungarian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Turkish
XEmacsEnglish
XNEditEnglish

Document interface

The following table identifies the following attributes of an editor that describe its user experience with respect to multiple documents:

Multiple instances
Whether multiple instances of the program can be open at the same time for editing multiple files (one in each instance). Applies both for single-document interface (SDI) and multiple-document interface (MDI). Also, applies for a program that has a user interface that looks like multiple instances of the same program (such as some versions of Word).
Single document window splitting
Whether a window can be split to simultaneously view different areas of a file.
MDI overlappable windows
Whether each open document gets its own fully movable window inside the editor environment.
MDI tabbed document interface
Whether multiple documents can be viewed as tabs in a single window.
MDI window splitting
Whether supports splitting the application window to show multiple documents (non-overlapping windows).
Text editor support for common document interfaces
Multiple instancesSingle document window splittingMDI overlappable windowsMDI tabbed document interfaceMDI window splitting
Acme
Alphatk
Atom
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
ed
Editra
EmEditor
Geany
Plugin
gedit
Plugin[h]

Plugin[i]
GNU Emacs
[j][k]
JED
jEdit
JOE
[l]
JOVE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
LE
Light Table
Metapad
mined
[m]
MS-DOS Editor
Nano
NEdit
Notepad
Notepad++
2 windows
nvi
Pico
PolyEdit
PSPad
RJ TextEd
Sam
SciTE
[n]
SlickEdit
Smultron
SubEthaEdit
TED Notepad
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
[o]

[p]
Visual Studio Code
XEmacs
XNEdit

Basic features

Spell checkingRegex-based find & replaceEncoding conversionNewline conversionMultiple undo/redoRectangular block selectionVirtual space support
Acme
external[q]
Alphatk
Atom
Plugin
BBEdit
Bluefish
Brackets
Plugin

Plugin
Coda
ConTEXT
[r]

[s]
Crimson Editor
Instant/live (like Firefox)
ed
Editra
EmEditor
Geany
Plugin[t]
[7]
gedit
[u]

Plugin[v]

[8]
GNU Emacs
Plugin[w]
[9]
JED
jEdit
Plugin[x]
[10]
JOE
Plugin[y]

[z]

[aa]
JOVE
Kate
KEDIT
Komodo Edit[ab]
Komodo IDE[ac]
KWrite
LE
[ad]
Light Table
Plugin[11]
Metapad
[ae]
mg
[12]

[12]
MinEd
[af]

[ag]

[ah]
MS-DOS Editor
Nano
ne
NEdit
Plugin[13]
Notepad
Notepad++
[14]
nvi
Pico
PolyEdit
PSPad
RJ TextEd
Sam
external[ai]
SciTE
[aj]
SlickEdit[citation needed]
Smultron
SubEthaEdit
[15]
Sublime Text[16]
TED Notepad
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
[ak]
VEDIT
[al]
vi
Vim
[am]
[citation needed]
Visual Studio Code
Plugin

[an]
[17]
XEmacs
Plugin[w]
XNedit
Plugin[13]

Programming features

Syntax highlightingFunction listSymbol databaseBracket matchingAuto indentationAuto completionCode foldingText foldingCompiler integration
Acme
external[q]

external[q]

[ao]

external[q]
Alphatk
Atom
Plugin
BBEdit
Bluefish
[ap]
Brackets
Plugin
Coda
ConTEXT
Crimson Editor
[aq]
ed
external[ar]
Editra
EmEditor
Plugin

Plugin

Plugin[as]
Geany
[at]
gedit
Plugin

Plugin

Plugin

Plugin[au]

[av]
GNU Emacs
JED
jEdit
Plugin

Plugin

Plugin
JOE
JOVE
Kate
Plugin

Plugin

Plugin
KEDIT
Macro
Komodo Edit
Komodo IDE
KWrite
LE
[aw]
Light Table
[ax]
Metapad
mined
[ay]
MS-DOS Editor
Nano
ne
NEdit
Plugin

Plugin
Notepad
Notepad++
[az]

[18][19]

[ba]
nvi
Pico
PolyEdit
PSPad
Plugin
RJ TextEd
Sam
external[ai]
SciTE
[bb]
SlickEdit
Smultron
SubEthaEdit
TED Notepad
TextEdit
TextMate
Plugin

[bc]
TextPad
Plugin[bd]
TextWrangler
Plugin[be]
The SemWare Editor
Plugin[20]

[bf]

[bg]
UltraEdit
[bh]
VEDIT
<[bi]
vi
Vim
Plugin[21]
Visual Studio Code
XEmacs
XNEdit
Plugin

Plugin

Additional programming features

CLI shell integrationGUI shell integrationMacro languageCollaborative editingLarge file supportLong line supportMulti-line regex supportSearch in files
Acme
Extensible
Alphatk
[bj]
Atom
[22]

Plugin[23]
~27 MB
[24]
BBEdit
[bk]

[25]
Bluefish
Brackets
Extensible
Coda
[bl]
ConTEXT
[bm]
Crimson Editor
ed
via mkfifo
Editra
2 GB
EmEditor
16TB
Geany
Plugin
gedit
[bn]

Plugin

Plugin[26]
GNU Emacs[27][28][29][30]
JED
[31]

Plugins
jEdit(heap)[bo]
JOE[citation needed]
[32]
JOVE
Kate
Plugin

[33]

[bp]

Plugin
KEDIT[citation needed]
Komodo Edit
[34]
Komodo IDE
[34]
KWrite
[33]

[35]
LE
[bq]

[br]
Light Table
Metapad
[36]
mined
EDIT (MS-DOS)(64~300 KB)
EDIT (DR-DOS)2 GB, for as long as there is disk swap space for two temporary files
Nano
NEdit
Notepad
Notepad++
[37]

2GB[38]

[39]
nvi
Pico
PolyEdit[citation needed]
PSPad
[40]

with plugin
RJ TextEd
Sam
external[ai]
SciTE
SlickEdit
2 TB
Smultron
SubEthaEdit
TED Notepad
TextEdit
TextMate
TextPad
[41]
TextWrangler
[42]
The SemWare EditorOnly in special DOS multi-user version
2 GB
UltraEdit
[bs]
VEDIT[citation needed]
vi~65 MB
Vim
with plugin[43]

[bt]
Visual Studio Code
with plugin[44]
XEmacs
[bu]
XNEdit

Key bindings

CustomIBM CUAmacOSviEmacsPicoWordStarWordPerfectBrief
Acme
Alphatk
Atom
BBEdit[45][46]
Bluefish
Brackets
Plugin

Plugin
Coda
ConTEXT
Crimson Editor
ed
Editra
EmEditor
epsilon
Geany
gedit
[bv]
GNU Emacs
[47]

[48]

[49]

[49]
JED
[bw]
jEdit
JOE[50]
JOVE
[51]
LE
Light Table
Plugin

Plugin
Kate
[52]
KEDIT
Komodo Edit
Komodo IDE
KWrite
Metapad
mg
mined
MS-DOS Editor
Nano
[53]
NEdit
Notepad
Notepad++
nvi
Pico
[53]
PolyEdit
PSPad
RJ TextEd
Sam
SciTE
[bx]
SlickEdit
[by]

[bz]

[ca]
Smultron
SubEthaEdit
TED Notepad
TextEdit
TextMate
TextPad
TextWrangler[45][54]
The SemWare Editor
UltraEdit
VEDIT
[55]
vi
Vim
Plugin[56]

Plugin[57]

[cb]

Plugin[cc]

Plugin[58]

Plugin[59]
Visual Studio Code
Plugin[60]

Plugin[61]

Plugin[62]
XEmacs
[47]

[48]

[49]

[49]
XNEdit

Notes:

Vim
Custom maps of Ctrl-1 .. Ctrl-9, Ctrl-0 cannot be set, nor is Control-Shift-<char> distinguished from Ctrl-<char>.[63][64]
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.
Pico
Pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc.

Protocol support

FTPHTTPSSHWebDAV
Acme
Alphatk
Atom
BBEdit
Bluefish
Brackets
Plugin
Coda
ConTEXT
[65]

[65]
Crimson Editor
ed
Editra
EmEditor
Geany
gedit
GNU Emacs
JED
jEdit
plugin[66]

[67]

plugin[66]

plugin.
JOE
JOVE
LE
Kate
KEDIT
Komodo IDE
FTP, FTPS, SFTP
KWrite
Metapad
mined
MS-DOS Editor
Nano
FTPHTTPSSHWebDAV
NEdit
Notepad
Notepad++
Plugin for FTP, FTPS, FTPES, SFTP

Plugin
nvi
Pico
PolyEdit
PSPad
RJ TextEd
FTP, SFTP
Sam
SciTE
SlickEdit
Smultron
SubEthaEdit
TED Notepad
[68]

[68]
TextEdit
TextMate
TextPad
TextWrangler
FTP, SFTP[69]
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
[70]

[70]

[70]

[70]
Visual Studio Code
Plugin[71]

Plugin (limited?)[71]

Plugin[71]

Plugin[71]
XEmacs
XNEdit

Character encoding support

The following table identifies notable character encodings that an editor supports – can load, save, view and edit text in the encoding without changing any characters. Partial implies that the editor can only convert the character encoding to internal (8-bit) format for editing, some encodings are supported only in some platforms or the editor can only display a character set (such as OEM) by loading corresponding font, but does not support keyboard entry for that character set.

ASCIIISO-8859DOS (OEM)EBCDICUTF-8UTF-16
Acme
Alphatk
Atom
BBEdit
Bluefish
Brackets
Coda
ConTEXT
[cd]
Crimson Editor
[cd]
ed
Editra
EmEditor
Geany
gedit
GNU Emacs
[ce]

[cf]
JED
[cg]
jEdit
JOE
JOVE
LE
Kate
KEDIT
[cd]
Komodo Edit
Komodo IDE
KWrite
Metapad
[cd]
mined
MS-DOS Editor
Nano
NEdit
Notepad
[cd]
Notepad++
nvi
[ch]
Pico
PolyEdit
PSPad
RJ TextEd
Sam
SciTE[ci]
SlickEdit
Smultron
SubEthaEdit
TED Notepad
TextEdit
TextMate
TextPad
[cj]

[cj]
TextWrangler
The SemWare Editor
[ck]

[cd]

Plugin
UltraEdit
VEDIT
[cl]

[cl]
vi
Vim
[cm]
Visual Studio Code
[72]
XEmacs
[cn]
XNEdit

Right-to-left and bidirectional text

Support for right-to-left (RTL) text is necessary for editing some languages like Arabic, Persian, Hebrew, and Yiddish and the mixture of left-to-right (LTR) and RTL known as bidirectional (BiDi). The following table indicates whether an editor supports RTL and BiDi text. Some editors (e.g. Notepad++ 5.1.3) can render bidirectional text but does not support editing it.

RTLBidi
Acme
Alphatk
Atom
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
ed
Editra
EmEditor
Geany
gedit
GNU Emacs
[co]
JED
jEdit
JOE
JOVE
LE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
Metapad
MS-DOS Editor
mined
[cp]

[cp]
Nano
NEdit
Notepad
Notepad++
[cq]
nvi
Pico
PolyEdit
PSPad
RJ TextEd
Sam
SciTE
SlickEdit
Smultron
SubEthaEdit
TED Notepad
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
through
terminal
support
Visual Studio Code
XEmacs
XNEdit

Newline support

The following table identifies newline support of editors. The three options are:

CR/LF
Generally, used on Windows.
LF
Generally, used on Unix-like systems (including macOS).[73]
CR
Generally, used on Classic Mac OS.
CR/LFLFCR
Acme
Alphatk
Atom
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
ed
Editra
EmEditor
Geany
gedit
GNU Emacs[cr]
JED
jEdit
JOE[74]
JOVE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
LE
Metapad
MS-DOS Editor
mined
Nano
NEdit
Notepad
Notepad++
nvi
Pico
PolyEdit
PSPad
RJ TextEd
Sam
SciTE
SlickEdit
Smultron
SubEthaEdit
Sublime Text
TED Notepad
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
Visual Studio Code
XEmacs
XNEdit

See also

Notes

  1. ^ last update in OpenBSD repo[75]
  2. ^ No native support, available as a part of the Inferno port for Windows or by using `plan9port` over the WSL.
  3. ^ cygwin
  4. ^ 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.
  5. ^ Requires Cygwin or the Windows Subsystem for Linux to run on Windows.
  6. ^ 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. ^ Stand alone NSIS installable package is available
  8. ^ gedit supports single document window splitting via plugins. [1] Archived 2011-12-14 at the Wayback Machine.
  9. ^ gedit supports multiple document window splitting via plugins. [2] Archived 2011-12-14 at the Wayback Machine.
  10. ^ GNU Emacs 27.1 includes built-in support for tab bar (per-frame) and tab-line (per-window). Earlier versions of GNU Emacs can use a tabbed document interface in a non OS-native way using the Tabbar plugin.
  11. ^ GNU Emacs can support a tabbed document interface modelled after GNU Screen using the elscreen Archived 2008-01-17 at the Wayback Machine package.
  12. ^ 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.
  13. ^ mined supports Copy/Paste between multiple documents in separate windows, when these documents are in separate terminal windows
  14. ^ SciTE_max_buffers
  15. ^ Vim Provided GVim is used.
  16. ^ Vim version 7 supports a tabbed document interface. Earlier versions can emulate tabs through scripts, for example.[76]
  17. ^ Acme can invoke external commands and display their return values in order to integrate additional functionality.
  18. ^ ConTEXT does not support regular expression backreferences in its search and replace function. [3] Archived 2007-12-18 at archive.today
  19. ^ ConTEXT only supports converting text to UTF-16. Also, it can only use one type of new-line format if converting to UTF-16.
  20. ^ Geany supports spell checking via a plugin
  21. ^ gedit supports spell checking via a plugin, which is distributed with gedit.
  22. ^ gedit supports Regex-based find & replace via plugins ([4] Archived 2011-12-14 at the Wayback Machine).
  23. ^ Emacs supports spell checking via the external programs ispell, aspell, or Hunspell.
  24. ^ jEdit supports spell checking via an external plugin.
  25. ^ JOE supports spell checking via the ispell or aspell external plugins.
  26. ^ JOE uses a non-standard regular expression syntax.
  27. ^ 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.
  28. ^ Komodo Edit is based on Scintilla and may support virtual space similar to Geany and Notepad++ ([5])
  29. ^ Komodo IDE is based on Scintilla and may support virtual space similar to Geany and Notepad++ ([6])
  30. ^ LE can pipe text through the GNU recode(1) utility
  31. ^ Metapad spell checking by calling external program Aspell.
  32. ^ mined supports multiple lines in search and replacement expressions.
  33. ^ mined can convert the encoding format when using the Copy & Paste feature between multiple documents (that have different encodings).
  34. ^ 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.
  35. ^ It is possible to start external applications from inside Sam and display their return values.
  36. ^ Scintilla-based editors such as SciTE, Notepad2 and Notepad++ do not support alternation (
  37. ^ UltraEdit uses the Boost C++ regex library. While Boost supports backreferences past \9 with \g{10}, UltraEdit has not yet implemented this feature.
  38. ^ 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.
  39. ^ Vim version 7 supports spell checking natively. Earlier versions require a script.[77]
  40. ^ Visual Studio Code does not support virtual space, and rectangular selection beyond line endings is not possible.
  41. ^ Acme's auto-completion only works on file names.
  42. ^ bluefish: Configurable via the outputbox feature.
  43. ^ With external tool OpenCTags
  44. ^ ed can invoke external commands, like a compiler.
  45. ^ EmEditor Professional supports Auto Complete via plugins (32-bit or 64-bit).
  46. ^ Geany uses its own tags file format, not compatible with ctags, see the manual.
  47. ^ gedit-folding: Folding plugin for Gedit
  48. ^ gedit: Compiler integration: Functionality in plugins installed with gedit.
  49. ^ make can be launched from the LE text editor, but the output is not captured
  50. ^ Evaluates expressions in some dynamic languages such as Clojure, Python and Javascript in realtime
  51. ^ mined: Syntax highlighting: HTML/XML, Javascript, JSP.
  52. ^ Notepad++ comes with Function List support, and it can be enhanced via plugins.
  53. ^ Notepad++ installs with auto complete list for multiple programming languages. Has user option to add additional personalized auto complete list(s).
  54. ^ Function list (and stuff) available in Ru-Board build, ver 1.79.66Ru and later
  55. ^ TextMate: Auto complete: Supported language bundles
  56. ^ Textpad uses an add-on ([7])
  57. ^ 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.
  58. ^ The Semware Editor: Auto complete: Supported via supplied/user-created lists.
  59. ^ The Semware Editor: Text folding: Compressed view possible.
  60. ^ Not in the Linux version.
  61. ^ Vedit: Auto complete: Template editing, plus 3rd party macro for expanding symbols from tags database.
  62. ^ Alpha Macro support via AppleScript, Tcl or text factories.
  63. ^ BBEdit Macro support via AppleScript, Perl, Python, Lasso, shell scripts or text factories.
  64. ^ Coda offers macros via AppleScript, text "clips,"or plugins (Cocoa apps or any installed scripting language).
  65. ^ name
  66. ^ Cssed Macro support via Python.
  67. ^ jEdit: Limited by Java heap size.[78]
  68. ^ Kate: Line length is limited by default. The limit can be removed, but long lines may cause poor performance.[79]
  69. ^ LE text editor locks the file and warns if someone else has changed the file
  70. ^ LE text editor can view and edit large files or their parts in mmap-shared mode
  71. ^ UltraEdit has no real limit on file size - and can easily open, edit, and save large text files in excess of 4 GB! [8].
  72. ^ 2GB with 32 Bits, on a 64 Bit system it depends on the available virtual memory.
  73. ^ Emacs: 64-bit compilation on 64-bit OS can handle 2 GB files, otherwise the limit is 512 MiB. [9]
  74. ^ It is possible to customize all Gedit shortcuts because it is Gtk based.
  75. ^ 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.
  76. ^ In SciTE, custom keystrokes may be assigned to Lua scripts, external programs or lexers (highlighters).
  77. ^ SlickEdit provides emulation of Visual Studio, Visual C++ 6, CodeWright, Epsilon and ISPF key bindings in addition to those given in the table.
  78. ^ SlickEdit supports CodeWarrior, Xcode and BBEdit key binding emulation.
  79. ^ SlickEdit includes support of vi key bindings, the ex command line and some, but not all Vim extensions.
  80. ^ Vim emulates vi keys fully when in 'compatible' mode
  81. ^ Vim With a script[80]
  82. ^ when choosing e.g. Terminal font
  83. ^ 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).
  84. ^ 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).
  85. ^ JEDs Windows version comes with a pair of scripts that can convert UTF-16 text files (actually anything iconv can convert) to and from JED's internal UTF-8. The Red Project releases include an enhanced version of these scripts.
  86. ^ nvi Gentoo
  87. ^ SciTE can open files in UTF or one single-byte encoding specified in a configuration file.
  88. ^ TextPad can load and save UTF-8 and UTF-16 text files, but cannot use or even preserve characters outside of the system encoding.[81]
  89. ^ when choosing e.g. New Courier font
  90. ^ Vedit can convert UTF-8 and UTF-16 files to Windows character set and back. Characters not included in Windows charset can be preserved.
  91. ^ Vim supports EBCDIC when compiled on a system that uses the EBCDIC character set.
  92. ^ from version 21.5.29
  93. ^ 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.
  94. ^ 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
  95. ^ Notepadpp: Scintilla (Notepad++'s Engine) does not really support bidirectional editing ... Some bidirectional text support added in 4.1.0. https://sourceforge.net/p/scintilla/bugs/757/#01c9
  96. ^ 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.

References

  1. ^ "Epsilon 14 Update Information". Lugaru Software, Ltd.. Retrieved 2020-10-22.
  2. ^ "New Features in Epsilon 13". www.lugaru.com
  3. ^ "JOE - Joe's own editor". JOE - Joe's own editor / Mercurial / [2e4f45] /po. Retrieved 23 October 2015.
  4. ^ "KDE Localization - Apps » stable » kate.po". l10n.kde.org
  5. ^ "Metapad language plugins". liquidninja.com
  6. ^ "Localised SciTE". scintilla.org
  7. ^ "Geany"
  8. ^ "Gedit/Plugins/ColumnMode - GNOME Wiki!". Archived from the original on 2012-01-11.
  9. ^ "Virtual space for rectangular selections (at least)". Stack Exchange. Retrieved 13 March 2023.
  10. ^ "Selecting Text"
  11. ^ "GitHub - rschroll/lt-spelling: Spell check plugin for Light Table.". April 29, 2015. – via GitHub.
  12. ^ "Super User's BSD Cross Reference: /OpenBSD/usr.bin/mg/re_search.c". bxr.su
  13. ^ NEdit supports spell checking via a plugin
  14. ^ Notepad++ 6.3.3 Archived 2013-11-26 at the Wayback Machine and above support spell checking via the DSpellCheck plugin, which is included with the default package.
  15. ^ SubEthaEdit supports advanced block editing, including multi-line typing and non-contiguous block selections.
  16. ^ "Virtual space". 28 March 2012.
  17. ^ "Virtual Space is not implemented. · Issue #13960 · microsoft/Vscode". GitHub
  18. ^ "GitHub - ffes/npptags: Universal Ctags plug-in for Notepad++.". March 7, 2019. – via GitHub.
  19. ^ "NotePad++ Plugin. Allows to connect to SQL Servers, execute SQL commands and views results: vladk1973/npp.connections". June 21, 2019. – via GitHub.
  20. ^ "TSE-Pro Files". www.semware.com
  21. ^ Vim has a popular TagList plugin that provides a function list.
  22. ^ "Feature Request: Integrated Shell/Terminal Access · Issue #14490 · atom/atom". GitHub
  23. ^ "atom-macros". Atom. 8 June 2022.
  24. ^ "Multi-line find and replace in project · Issue #398 · atom/find-and-replace". GitHub
  25. ^ "Handling large files presents no intrinsic problems for BBEdit, though some specific operations may be limited when dealing with files over 2GB in size." BBEdit FAQs Archived 2019-07-29 at the Wayback Machine.
  26. ^ "Gedit File Search Plugin". oliver.github.io
  27. ^ "GNU Emacs 23.2 NEWS -- history of user-visible changes."
  28. ^ "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.
  29. ^ "Does Emacs have problems with large files?"
  30. ^ "GNU emacs manual - Narrowing"
  31. ^ "The JED Editor". Archived from the original on 2012-01-05. Retrieved 2009-12-08.
  32. ^ "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.
  33. ^ kwrite-devel, Large Files open slowly due to futile Syntax-Highlighting
  34. ^ "Macros". docs.activestate.com
  35. ^ Lines longer than ~700 characters frequently cause crashes. KatePart documentation Archived 2018-01-07 at the Wayback Machine (which is also the KWrite documentation, see here Archived 2018-01-07 at the Wayback Machine)
  36. ^ metapad FAQ, Loading Large Files
  37. ^ "Notepad++ - How to Remotely work on the Same File in Real Time". 11 January 2016. Archived 2021-12-12 at the Wayback Machine. – via www.youtube.com.
  38. ^ "Text limit". Community. January 16, 2019.
  39. ^ "Configurable through settings"
  40. ^ "PSPad forum / Bug report / Hlášení chyb / cannot open large file". forum.pspad.com
  41. ^ "Edit large mbox files - MozillaZine Knowledge Base". kb.mozillazine.org
  42. ^ "TextWrangler is a RAM-based editor, and it uses system memory to hold open files. TextWrangler also represents open documents as Unicode, which uses two bytes for each character. Combined with an internal Mac OS X limitation, this means that you can open files up to 384 megabytes in size." TextWrangler FAQs Archived 2019-10-10 at the Wayback Machine.
  43. ^ "GitHub - FredKSchott/CoVim: Collaborative Editing for Vim.". November 13, 2019. – via GitHub.
  44. ^ "Live Share - Visual Studio Marketplace". marketplace.visualstudio.com
  45. ^ "Bare Bones Software | BBEdit Comparison Chart". www.barebones.com
  46. ^ "Bare Bones Software | Features". www.barebones.com
  47. ^ pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Archived 20120905 at the Wayback Machine retrieved 20120109.
  48. ^ GNU Emacs can have Wordstar emulation, with the command M-x wordstar-mode, as found from ws-mode.el retrieved 20170314. See also the "Emulation" section of the previous GNU Emacs manual. The WordStar mode, however, has been obsolete since GNU Emacs 24.5.
  49. ^ "AC.27 Emulation". GNU Emacs manual. Retrieved 2021-12-06.
  50. ^ "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 [...].
  51. ^ "Usenet". www.megalextoria.com
  52. ^ Kate supports an optional VI Input Mode Archived 20090228 at the Wayback Machine.
  53. ^ 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 20120905 at the Wayback Machine retrieved 20120109.
  54. ^ "Bare Bones Software | TextWrangler Features". www.barebones.com. Archived from the original on 2017-08-11. Retrieved 2009-06-05.
  55. ^ Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
  56. ^ "GitHub - fabi1cazenave/cua-mode.vim: Make CTRL-ZXCV behave like in Notepad.". February 26, 2019. – via GitHub.
  57. ^ "GitHub - likaci/ViFinder: Vim like Keybinding FileManager for OS X.". October 13, 2019. – via GitHub.
  58. ^ "Vim distribution optimized for writing". Sep 16, 2021. – via GitHub.
  59. ^ "brief.vim - Brief editor key binding emulation in Vim : vim online". www.vim.org
  60. ^ "Vim - Visual Studio Marketplace". marketplace.visualstudio.com
  61. ^ "Emacs - Visual Studio Marketplace". marketplace.visualstudio.com
  62. ^ "Brief Editor Keymap Emulation - Visual Studio Marketplace". marketplace.visualstudio.com
  63. ^ "Vim - General - unable to map ctrl-1". vim.1045645.n5.nabble.com. Archived from the original on 2017-12-01. Retrieved 2017-11-30.
  64. ^ "Vim - General - How to map (say) Ctrl-Shift-B". vim.1045645.n5.nabble.com. Archived from the original on 2017-12-01. Retrieved 2017-11-30.
  65. ^ Text Editor Features Archived 2007-12-18 at archive.today at ConTEXT.cx
  66. ^ jEdit FTP and SFTP are supported via the FTP plugin.
  67. ^ jEdit: "HTTP is supported natively"
  68. ^ "TED Notepad". jsimlo.sk
  69. ^ "Bare Bones Software | TextWrangler Tour". www.barebones.com. Archived from the original on 2019-11-29. Retrieved 2019-11-16.
  70. ^ Vim Supported via netrw plugin distributed in the standard Vim installation.
  71. ^ "Remote Workspace - Visual Studio Marketplace". marketplace.visualstudio.com. Archived from the original on 2019-05-10. Retrieved 2019-05-09.
  72. ^ "Support EBCDIC encodings · Issue #49891 · microsoft/vscode". GitHub
  73. ^ "Did Mac OS Lion switch to using line feeds (LF '\n') for line breaks instead of carriage returns (CR '\r')?". Super User
  74. ^ "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.
  75. ^ "src/usr.bin/mg at master · openbsd/src". GitHub. Retrieved 2020-10-21.
  76. ^ "TabBar - Plugin to add tab bar ( derived from miniBufExplorer). : vim online". www.vim.org
  77. ^ "Engspchk - Spelling checker: On-the-fly spell checking, multi-language, alternate spellings : vim online". www.vim.org
  78. ^ "'Re: [ jEdit-users ] Big file take AGES' - MARC". marc.info
  79. ^ "The Kate Handbook"
  80. ^ "Vimacs - Vim-Improved eMACS: Emacs emulation for Vim : vim online". www.vim.org
  81. ^ "Community :: View topic - Unicode Conformance". forums.textpad.com