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).
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).
Syntax highlighting: Displays text in different colors and fonts according to the category of terms.
Function list: Lists all functions from current file in a window or sidebar and allows user to jump directly to the definition of that function for example by double-clicking on the function name in the list. More or less realtime (does not require creating a symbol database, see below).
Symbol database: Database of functions, variable and type definitions, macro definitions etc. in all the files belonging to the software being developed. The database can be created by the editor itself or by an external program such as ctags. The database can be used to instantly locate the definition even if it is in another file.
Bracket matching: Find matching parenthesis or bracket, taking into account nesting.
Auto indentation: May refer to just simple indenting to the same level as the line above, or intelligent indenting that is language specific. (Needs clarification?)
Compiler integration: Allows running compilers/linkers/debuggers from within editor, capturing the compiler output and stepping through errors, automatically moving cursor to corresponding location in the source file.
Extra features
Text editor support for other programming features
= Some limit less than available memory (give max size if known)
In general, most text editors do not support large text files. Some restrict themselves to available in-core RAM while others use sophisticated virtual memory management techniques and paging algorithms.[88]
Search in files: Perform search (and possibly replace) in multiple files on disk, for example on a sub-directory and recursively all the directories below it. Similar to grep.
Notepad++: custom shortcuts of Shift-<char> cannot be set, they need an added modifier such as Ctrl or Alt. i.e. SCI_LINESCROLLUP cannot be bound to "Shift-I" as the "Add" button is greyed out.
Programmer's Notepad: keybindings of Shift-<char> can be set, but a bug executes the command and inserts the literal character.
Emacs and Pico: pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc.
Protocol support
Native internal support for editing files over a network or the internet.
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.
Support for right to left (RTL) texts (like Hebrew, Arabic, Persian) and the mixture of left to right (LTR) and RTL known as bidirectional (bidi) support.
Depending on the algorithm used in the programs they might only render the bidirectional text correctly but may not be able to edit them. (e.g. Notepad++ 5.1.3 shows bidirectional texts correctly but you cannot edit it and you should change the window direction to be able to edit right to left texts correctly.)
Right to left (RTL) & bidirectional (bidi) support
^GEdit, when installed from MacPorts, runs in X11 and, therefore, does not have a native look and feel. However, precompiled native OS X binaries for GEdit may be downloaded from the GEdit project page, or from the GEdit FTP download server.
^ abcgedit, NEdit, SciTE, and SlickEdit run in the X11 window environment, and therefore do not use the native Aqua look-and-feel when running on OS X.
^The SemWare Editor (TSE): Linux beta version in progress.
^gedit supports single document window splitting via plugins. [1].
^gedit supports multiple document window splitting via plugins. [2].
^GNU Emacs can use a tabbed document interface in a non OS-native way, using the tabbar plug-in.
^GNU Emacs can support a tabbed document interface modelled after GNU Screen using the elscreen package.
^JOE supports editing multiple files but only seeing one of them, and switching to others via Ctrl+K+N, which is functionally equivalent to having tabs but no visible tab bar.
^mined supports Copy/Paste between multiple documents in separate windows, when these documents are in separate terminal windows
^SciTE has a maximum number of buffers, which can only be set as high as 100.
^jEdit supports spell checking via an external plugin.
^JOE supports spell checking via the ispell or aspell external plugins.
^JOE uses a non-standard regular expression syntax.
^JOE can easily pipe text through the GNU recode(1) utility; it detects locale settings and allows editing in any encoding set up by the environment.
^LE can pipe text through the GNU recode(1) utility
^Metapad spell checking by calling external program Aspell.
^ abmined supports multiple lines in search and replacement expressions.
^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.
^Notepad++ supports spell checking via the aspell plugin. Spell checking can only be done on-demand, as opposed to instantly by underlining misspelled words.
^ abScintilla-based editors such as SciTE, Notepad2 and Notepad++ do not support alternation (|) in regular expressions.
^SubEthaEdit supports advanced block editing, including multi-line typing and non-contiguous block selections.
^UltraEdit uses the Boost C++ regex library. While Boost supports backreferences past \9 with \g{10}, UltraEdit has not yet implemented this feature.
^VEDIT 6.2 comes with Scribe spelling checker which has been written entirely in Vedit macro language. In addition, macro package for integrating Aspell can be downloaded here.
^Vim version 7 supports spell checking natively. Earlier versions require a script shown here.
^bluefish: Configurable via the outputbox feature.
^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.
^ abBBEdit and TextWrangler are technically capable of any size file, but limited practically by RAM and OS X limitation to files = 384mb. Cf. BBEdit FAQ Entry 36.
^ConTEXT claims Large File Support but load time is proportional to file size and a 1GB file gave an Out of Memory error.
^It is possible to customize all Gedit shortcuts because it is Gtk based.
^ abpico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor retrieved 2012-01-09.
^GNU Emacs comes with Wordstar emulation, with the command M-x wordstar-mode, as found in the latest download from GNU Project Archives retrieved 2012-01-09. Found in file ws-mode.el ZZ see also the "Emulation" section of the GNU Emacs manual.
^ abAlthough 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.
^ abmined: 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
Tags: Comparison of text editors, Computer, 482, 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 rele, Comparison of text editors, English, Instruction Examples, Tutorials, Reference, Books, Guide regular tuition program, pts-ptn.net