Comparison of text editors

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description This article provides basic comparisons for notable 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

Template:Mw-datatableTemplate:Sticky headerTemplate:Sort underTemplate:Sticky table start

List of text editors
Name Developer Initial release Latest release [[Programming language|ProgramTemplate:Shyming language]] Cost (US$) License GUI TUI or CLI
Version Date
nowrap Template:Rh | Acme Rob Pike 1993 Plan 9 and Inferno C No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | AkelPad Alexey Kuznetsov
Alexander Shengalts
2003 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Alphatk Vince Darley 1999 Template:Wikidata Template:Wikidata $40 Proprietary, with BSD components Template:Ya Template:Na
nowrap Template:Rh | Atom GitHub 2014 Template:Wikidata Template:Wikidata HTML, CSS, JavaScript, C++ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | BBEdit Rich Siegel 1992 Template:Wikidata Template:Wikidata Objective-C, Objective-C++ No cost for most features, $49.99 for full version Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | Bluefish Bluefish Development Team 1999 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Brackets Adobe Systems 2012 Template:Wikidata Template:Wikidata HTML, CSS, JavaScript, C++ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Coda Panic 2007 Template:Wikidata Template:Wikidata Objective-C $99 Template:Proprietary Template:Ya
nowrap Template:Rh | ConTEXT ConTEXT Project Ltd 1999 Template:Wikidata Template:Wikidata Object Pascal (Delphi) No cost Template:Open source Template:Ya
nowrap Template:Rh | Crimson Editor Ingyu Kang 1999 Template:Wikidata Template:Wikidata C++ No cost Template:Proprietary Template:Ya
nowrap Template:Rh | CudaText UVViewSoftTemplate:Efn 2015 Template:Wikidata Template:Wikidata Object Pascal (Lazarus) No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | ed Ken Thompson 1970 unchanged from original C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | Editra Cody Precord 2007 0.7.20 2013-01-05 Python No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | EmEditor Emurasoft, Inc. 1997 21.3.0 2021-11-24 C++ $39.99 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | epsilon Lugaru Software 1984 14.00[1] 2020-10-20 C $250 Template:Proprietary
nowrap Template:Rh | FeatherPad Pedram Pourang 2016 Template:Wikidata Template:Wikidata C++, Qt No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | FocusWriter Graeme Gott 2008 Template:Wikidata Template:Wikidata C++, Qt No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | gedit GNU Project 2000 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Geany Enrico Tröger 2005 Template:Wikidata Template:Wikidata C, GTK+ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | GNU Emacs Richard Stallman 1984 Template:Wikidata Template:Wikidata C, Emacs Lisp No cost Template:Open source Template:Ya Template:Ya
nowrap Template:Rh | GNU nano Chris Allegretta 1999 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | IA Writer Information Architects 2010.09.22 5.6 2020-12-07 Objective-C (iOS), Objective-C (macOS), C# (Windows), Java (Android) $29.99 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | JED John E. Davis 1992 Template:Wikidata Template:Wikidata C, S-Lang No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | jEdit Slava Pestov 1998 Template:Wikidata Template:Wikidata Java No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | JOE Joseph Allen 1988 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | JOVE Johnathon Payne 1983 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | Kate KDE Project 2000-12 Template:Wikidata Template:Wikidata C++ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | KEDIT Mansfield Software Group, Inc. 1983 1.6.1 2016-12-05 C $129 Template:Proprietary Template:Na Template:Ya
nowrap Template:Rh | Komodo Edit Activestate 2007 Template:Wikidata Template:Wikidata Python, JavaScript, Perl, Tcl, PHP, Ruby No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Komodo IDE Activestate 2001 Template:Wikidata Template:Wikidata Python, JavaScript, Perl, Tcl, PHP, Ruby $295 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | KWrite KDE Project 2000 Template:Wikidata Template:Wikidata C++ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | LE Alexander V. Lukyanov 1997 Template:Wikidata Template:Wikidata C++ No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | Leo Edward K. Ream 1996 Template:Wikidata Template:Wikidata Python No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Light Table Chris Granger 2012 Template:Wikidata Template:Wikidata ClojureScript No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | mcedit Miguel de Icaza 1994 Template:Wikidata Template:Wikidata C, Python, PHP, Javascript, Perl, Tcl, Ruby No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | Metapad Alexander Davidson 1999 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | mg Dave Conroy 1986 currentTemplate:Efn 2020-07-22 C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | MinEd Thomas Wolff 1992 2022.27 2022-12-23 C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | MS-DOS Editor Microsoft 1991 2.0.026 Bundled with MS-DOS, Microsoft Windows Template:Proprietary Template:Na Template:Ya
nowrap Template:Rh | ne Sebastiano Vigna
Todd Lewis
Daniele Filaretti
1993 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | NEdit Mark Edel 1991 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | Notepad Microsoft 1985 11.2302.16.0 MASM (originally) Bundled with Microsoft Windows Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | Notepad++ Don Ho 2003-11-25 Template:Wikidata Template:Wikidata C++ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | nvi Keith Bostic 1994 Template:Wikidata Template:Wikidata C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | Pico University of Washington 1992 4.64 C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | PolyEdit PolySoft Solutions 1998 5.4 2010Template:Nbh04Template:Nbh07 $27.95 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | PSPad Jan Fiala 2002 Template:Wikidata Template:Wikidata Object Pascal (Delphi) No cost Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | RJ TextEd Rickard Johansson 2004 Template:Wikidata Template:Wikidata Object Pascal (Delphi) No cost Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | Sam Rob Pike 1980s (early) stable C No cost Template:Open source Template:Na Template:Ya
nowrap Template:Rh | SciTE Neil Hodgson 1999 Template:Wikidata Template:Wikidata C++ $41.99 for macOS. No cost for others Template:Open source Template:Ya Template:Na
nowrap Template:Rh | SlickEdit SlickEdit, Inc. 1988 28.0.1 2024-01-21 C, Slick-C $299 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | Smultron Peter Borg 2004 Template:Wikidata Template:Wikidata Objective-C $7.99 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | SubEthaEdit TheCodingTemplate:ShyMonkeys 2003 Template:Wikidata Template:Wikidata No cost Template:Open source Template:Ya
nowrap Template:Rh | Sublime Text from=Q267193}} 2008 Template:Wikidata Template:Wikidata from=Q267193}} $99 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | TED Notepad Juraj Simlovic 2001 Template:Wikidata Template:Wikidata C No cost Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | Textadept Mitchell 2007 Template:Wikidata Template:Wikidata C, Lua No cost Template:Open source Template:Ya Template:Ya
nowrap Template:Rh | TextEdit Apple Inc. 2001 Template:Wikidata Template:Wikidata No cost (also bundled with macOS) Template:Open source Template:Ya Template:Na
nowrap Template:Rh | TextMate MacroMates 2004-10-10 Template:Wikidata Template:Wikidata Objective-C++ No cost Template:Open source Template:Ya Template:Na
nowrap Template:Rh | TextPad Helios Software Solutions 1992 Template:Wikidata Template:Wikidata $30.00 (£16.50) Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | TextWrangler Bare Bones Software 2003 5.5.2 2016-09-20 No cost Template:Proprietary Template:Ya
nowrap Template:Rh | The SemWare Editor Sammy Mitchell 1985-11 Template:Wikidata Template:Wikidata C, SAL No cost Template:Open source
nowrap Template:Rh | UltraEdit IDM Computer Solutions 1994 25.0 2018-03-12 C++ $99.95 Template:Proprietary Template:Ya Template:Na
nowrap Template:Rh | VEDIT Ted Green, Greenview Data 1980 6.24.2 2015-01-12 Assembly, C $89 standard, $239 Pro64 Template:Proprietary Template:Ya Template:Ya
nowrap Template:Rh | vi Bill Joy 1976 3.7 C No cost Template:Open source or CDDL Template:Na Template:Ya
nowrap Template:Rh | Vim Bram Moolenaar 1991 Template:Wikidata Template:Wikidata C, Vim script No cost Template:Open source Template:Ya Template:Ya
nowrap Template:Rh | Visual Studio Code Microsoft 2015 Template:Wikidata Template:Wikidata JavaScript, TypeScript No cost Source code: MIT[2]
Binaries built by Microsoft: Proprietary[3][4]
Template:Ya Template:Na
nowrap Template:Rh | XEmacs Lucid Inc. 1991 Template:Wikidata Template:Wikidata C, Emacs Lisp No cost Template:Open source Template:Ya Template:Ya
nowrap Template:Rh | XNEdit Olaf Wintermann 2018 1.5.2 2023-10-05 C No cost Template:Open source Template:Ya Template:Na

Template:Sticky table end

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

Template:Sticky headerTemplate:Sort under

Natural language (localization)

Available languages for the UI
Languages supported
nowrap Template:Rh | Acme English
nowrap Template:Rh | AkelPad English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish
nowrap Template:Rh | Alphatk English
nowrap Template:Rh | Atom English
nowrap Template:Rh | BBEdit English
nowrap Template:Rh | Brackets English, German, French, Polish(Outdated), Korean, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish(Outdated)
nowrap Template:Rh | Coda English, German, French, Spanish
nowrap Template:Rh | ConTEXT English, German, French, Polish, Italian, Dutch, Portuguese, Spanish
nowrap Template:Rh | Crimson Editor English
nowrap Template:Rh | CudaText Main: English. Addons: Japanese, French, Polish, Korean, Hungarian (2018), Greek, German (2017), and 9 others
nowrap Template:Rh | ed
nowrap Template:Rh | Editra English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | EmEditor English, German, French, Korean, Japanese, Italian, Dutch, Spanish
nowrap Template:Rh | epsilon English
nowrap Template:Rh | Geany English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
nowrap Template:Rh | gedit English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
nowrap Template:Rh | GNU Emacs English
nowrap Template:Rh | JED English
nowrap Template:Rh | jEdit English
nowrap Template:Rh | JOE[6] English, German, French
nowrap Template:Rh | JOVE English
nowrap Template:Rh | Kate[7] English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | KEDIT English
nowrap Template:Rh | Komodo Edit English
nowrap Template:Rh | KWrite English, German, Italian, Spanish, Swedish
nowrap Template:Rh | Metapad[8] English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | mined English
nowrap Template:Rh | MS-DOS Editor English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | Nano English, German, French, Italian, Portuguese
nowrap Template:Rh | NEdit English
nowrap Template:Rh | Notepad English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
nowrap Template:Rh | Notepad++ English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi
nowrap Template:Rh | nvi English
nowrap Template:Rh | Pico English, Italian
nowrap Template:Rh | PolyEdit English
nowrap Template:Rh | PSPad English, German, French, Polish, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | RJ TextEd English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | Sam English
nowrap Template:Rh | SciTE[9] English, German, French (Outdated (1.72)), Polish, Japanese (Outdated (1.62)), Italian, Dutch (Outdated (1.67)), Portuguese (Outdated (1.63)), Spanish, Swedish
nowrap Template:Rh | SlickEdit English
nowrap Template:Rh | Smultron English, German, French, Japanese, Italian, Dutch, Spanish, Swedish
nowrap Template:Rh | SubEthaEdit English
nowrap Template:Rh | TED Notepad English
nowrap Template:Rh | TextEdit English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
nowrap Template:Rh | TextMate English
nowrap Template:Rh | TextPad English, 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))
nowrap Template:Rh | TextWrangler English
nowrap Template:Rh | The SemWare Editor English
nowrap Template:Rh | UltraEdit English, German, French, Korean, Italian, Spanish, Portuguese, Japanese, Chinese
nowrap Template:Rh | VEDIT English
nowrap Template:Rh | vi English
nowrap Template:Rh | Vim Afrikaans, 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
nowrap Template:Rh | Visual Studio Code English, Bulgarian, Chinese, French, German, Hungarian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Turkish
nowrap Template:Rh | XEmacs English
nowrap Template:Rh | XNEdit English

Document interface

Template:Sticky headerTemplate:Sort under

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

Template:Sticky headerTemplate:Sort under

Programming features

Template:Sticky headerTemplate:Sort under

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

Template:Sticky headerTemplate:Sort under

Large file support:

Template:Ya = Larger than 4 GiB (LFS) Template:Ya2Template:NbspGB = Larger than 1 GB, not limited by memory
Template:Okay = Limited by available memory    Template:Na (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.[49]

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
nowrap Template:Rh | Acme Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | AkelPad Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | Alphatk ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | Atom ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | BBEdit[50][51] Template:Ya ? Template:Ya ? Template:Ya ? ? ? ?
nowrap Template:Rh | Bluefish Template:Ya ? Template:Ya ? ? ? ? ? ?
nowrap Template:Rh | Brackets Template:Ya Partial Template:Ya Template:Ya
PlugTemplate:Nbhin
Template:Ya
PlugTemplate:Nbhin
Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Coda Template:Ya ? Template:Ya ? ? ? ? ? ?
nowrap Template:Rh | ConTEXT ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | Crimson Editor ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | CudaText Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | ed Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Editra Template:Na Template:Na Template:Na Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | EmEditor Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | epsilon Template:Ya ? ? ? Template:Ya ? ? ? Template:Ya
nowrap Template:Rh | Geany Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | gedit Template:Ya
Template:Efn
? ? ? ? ? ? ? ?
nowrap Template:Rh | GNU Emacs Template:Ya Template:Ya Template:Ya Template:Ya Template:Ya Partial
[52]
Template:Ya
[53]
Template:Ya
[54]
Template:Ya
[54]
nowrap Template:Rh | JED Template:Ya Partial
Template:Efn
? Template:Ya Template:Ya ? Template:Ya ? Template:Ya
nowrap Template:Rh | jEdit Template:Ya ? Template:Ya Template:Ya ? ? ? ? ?
nowrap Template:Rh | JOE[55] Template:Ya Template:Na Template:Na Template:Na Template:Ya Template:Ya Template:Ya Template:Na Template:Na
nowrap Template:Rh | JOVE Template:Ya Template:Na Template:Na Template:Na Template:Ya Template:Na Template:Ya
[56]
Template:Na Template:Na
nowrap Template:Rh | LE Template:Ya ? ? Template:Na ? ? ? ? ?
nowrap Template:Rh | Light Table Template:Ya Partial ? Template:Ya
PlugTemplate:Nbhin
Template:Ya
PlugTemplate:Nbhin
? ? ? ?
nowrap Template:Rh | Kate Template:Ya Template:Na Template:Na Template:Ya
[57]
Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | KEDIT Template:Ya Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Komodo Edit Template:Ya ? Template:Ya Template:Ya Template:Ya ? ? ? ?
nowrap Template:Rh | Komodo IDE Template:Ya ? Template:Ya Template:Ya Template:Ya ? ? ? ?
nowrap Template:Rh | KWrite Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | Metapad ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | mg Template:Ya ? ? ? Template:Ya ? ? ? ?
nowrap Template:Rh | mined ? ? ? ? Template:Ya Template:Ya Template:Ya ? ?
nowrap Template:Rh | MS-DOS Editor Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Nano Template:Ya Template:Na Template:Na Template:Na Partial
[58]
Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | NEdit Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | Notepad Template:Na Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Notepad++ Partial Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | nvi ? ? ? Template:Ya ? ? ? ? ?
nowrap Template:Rh | Pico Template:Na Template:Na Template:Na Template:Na Partial
[58]
Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | PolyEdit ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | PSPad Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | RJ TextEd Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | Sam Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | SciTE Partial
Template:Efn
? ? Template:Na Template:Na Template:Na ? ? ?
nowrap Template:Rh | SlickEdit Template:Ya
Template:Efn
Template:Ya Template:Ya
Template:Efn
Partial
Template:Efn
Template:Ya Template:Na Template:Na Template:Na Template:Ya
nowrap Template:Rh | Smultron ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | SubEthaEdit Template:Na Template:Na Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | TED Notepad ? ? ? ? ? ? ? ? ?
nowrap Template:Rh | TextEdit Template:Na Template:Na Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | TextMate Template:Na Template:Na Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | TextPad Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | TextWrangler[50][59] Template:Ya ? Template:Ya Template:Na Template:Ya Template:Na ? ? ?
nowrap Template:Rh | The SemWare Editor Template:Ya ? ? ? ? ? ? ? ?
nowrap Template:Rh | UltraEdit Template:Ya ? Template:Na ? ? ? ? ? ?
nowrap Template:Rh | VEDIT Template:Ya Template:Ya Template:Na Template:Na
[60]
Template:Na Template:Na Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | vi Template:Ya Template:Na Template:Na Template:Ya Template:Na Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Vim Partial Template:Ya
PlugTemplate:Nbhin[61]
Template:Ya
PlugTemplate:Nbhin[62]
Template:Ya
Template:Efn
Template:Ya
PlugTemplate:NbhinTemplate:Efn
? Template:Ya
PlugTemplate:Nbhin[63]
Template:Na Template:Ya
PlugTemplate:Nbhin[64]
nowrap Template:Rh | Visual Studio Code Template:Ya Template:Na Template:Ya Template:Ya
PlugTemplate:Nbhin[65]
Template:Ya
PlugTemplate:Nbhin[66]
Template:Na Template:Na Template:Na Partial
PlugTemplate:Nbhin[67]
nowrap Template:Rh | XEmacs Template:Ya Template:Ya Template:Ya Template:Ya Template:Ya Partial
[52]
Template:Ya
[53]
Template:Ya
[54]
Template:Ya
[54]
nowrap Template:Rh | XNEdit Template:Ya ? ? ? ? ? ? ? ?
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>.[68][69]
  • 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
nowrap Template:Rh | Acme Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | AkelPad Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Alphatk Template:Ya Template:Na Template:Na Template:Ya
nowrap Template:Rh | Atom ? ? ? ?
nowrap Template:Rh | BBEdit Template:Ya Template:Na Template:Ya Template:Na
nowrap Template:Rh | Bluefish Template:Ya Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Brackets Template:Ya
PlugTemplate:Nbhin
Template:Na Template:Na Template:Na
nowrap Template:Rh | Coda Template:Ya Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | ConTEXT Template:Na
[70]
? Template:Na
[70]
?
nowrap Template:Rh | Crimson Editor Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | CudaText Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | ed Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Editra ? ? ? ?
nowrap Template:Rh | EmEditor Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Geany Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | gedit Template:Ya Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | GNU Emacs Template:Ya Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | JED Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | jEdit Template:Ya
plugTemplate:Nbhin[71]
Template:Ya
[72]
Template:Ya
plugTemplate:Nbhin[71]
Template:Ya
plugTemplate:Nbhin.
nowrap Template:Rh | JOE Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | JOVE Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | LE Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Kate Template:Ya Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | KEDIT Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Komodo IDE Template:Ya
FTP, FTPS, SFTP
Template:Na Template:Ya Template:Na
nowrap Template:Rh | KWrite Template:Ya Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Metapad Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | mined ? ? ? ?
nowrap Template:Rh | MS-DOS Editor Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Nano Template:Na Template:Na Template:Ya Template:Na
FTP HTTP SSH WebDAV
nowrap Template:Rh | NEdit Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Notepad Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Notepad++ Template:Ya
PlugTemplate:Nbhin for FTP, FTPS, FTPES, SFTP
Template:Na Template:Ya
PlugTemplate:Nbhin
Template:Na
nowrap Template:Rh | nvi Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Pico Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | PolyEdit Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | PSPad Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | RJ TextEd Template:Ya
FTP, SFTP
Template:Na Template:Ya Template:Na
nowrap Template:Rh | Sam Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | SciTE Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | SlickEdit Template:Ya Template:Ya Template:Ya Template:Na
nowrap Template:Rh | Smultron Template:Ya ? ? ?
nowrap Template:Rh | SubEthaEdit Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | TED Notepad Template:Na
[73]
? Template:Na
[73]
?
nowrap Template:Rh | TextEdit Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | TextMate Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | TextPad Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | TextWrangler Template:Ya
FTP, SFTP[74]
Template:Na Template:Ya Template:Na
nowrap Template:Rh | The SemWare Editor Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | UltraEdit Template:Ya Template:Na Template:Ya Template:Na
nowrap Template:Rh | VEDIT Template:Ya Template:Na Template:Na Template:Na
nowrap Template:Rh | vi Template:Na Template:Na Template:Na Template:Na
nowrap Template:Rh | Vim Template:Ya
[75]
Template:Ya
[75]
Template:Ya
[75]
Template:Ya
[75]
nowrap Template:Rh | Visual Studio Code Template:Ya
PlugTemplate:Nbhin[76]
Template:Ya
PlugTemplate:Nbhin (limited?)[76]
Template:Ya
PlugTemplate:Nbhin[76]
Template:Ya
PlugTemplate:Nbhin[76]
nowrap Template:Rh | XEmacs Template:Ya Template:Ya Template:Ya ?
nowrap Template:Rh | XNEdit Template:Na Template:Na Template:Na Template:Na
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.

Template:Static row numbersTemplate:Sticky header

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)
nowrap Template:Rh | Acme Template:Na Template:Na
nowrap Template:Rh | AkelPad Template:Na Template:Na
nowrap Template:Rh | Alphatk ? ?
nowrap Template:Rh | Atom Template:Na Template:Na
nowrap Template:Rh | BBEdit Template:Ya Template:Ya
nowrap Template:Rh | Bluefish Template:Ya Template:Ya
nowrap Template:Rh | Brackets ? ?
nowrap Template:Rh | Coda ? ?
nowrap Template:Rh | ConTEXT ? ?
nowrap Template:Rh | Crimson Editor ? ?
nowrap Template:Rh | ed ? ?
nowrap Template:Rh | Editra ? ?
nowrap Template:Rh | EmEditor Template:Na Template:Na
nowrap Template:Rh | Geany ? ?
nowrap Template:Rh | gedit Template:Ya Template:Ya
nowrap Template:Rh | GNU Emacs Template:Ya Template:Ya
Template:Efn
nowrap Template:Rh | JED ? ?
nowrap Template:Rh | jEdit Template:Na Template:Na
nowrap Template:Rh | JOE ? ?
nowrap Template:Rh | JOVE Template:Na Template:Na
nowrap Template:Rh | LE ? ?
nowrap Template:Rh | Kate Template:Ya Template:Ya
nowrap Template:Rh | KEDIT Template:Na Template:Na
nowrap Template:Rh | Komodo Edit Template:Na Template:Na
nowrap Template:Rh | Komodo IDE Template:Na Template:Na
nowrap Template:Rh | KWrite ? ?
nowrap Template:Rh | Metapad ? ?
nowrap Template:Rh | MS-DOS Editor ? ?
nowrap Template:Rh | mined Template:Ya
Template:Efn
Template:Ya
Template:Efn
nowrap Template:Rh | Nano ? ?
RTL Bidi
nowrap Template:Rh | NEdit Template:Na Template:Na
nowrap Template:Rh | Notepad Template:Ya Template:Ya
nowrap Template:Rh | Notepad++ Template:Ya Partial
Template:Efn
nowrap Template:Rh | nvi ? ?
nowrap Template:Rh | Pico ? ?
nowrap Template:Rh | PolyEdit ? ?
nowrap Template:Rh | PSPad ? ?
nowrap Template:Rh | RJ TextEd Template:Ya Template:Ya
nowrap Template:Rh | Sam Template:Na Template:Na
nowrap Template:Rh | SciTE Template:Na Template:Na
nowrap Template:Rh | SlickEdit ? ?
nowrap Template:Rh | Smultron ? ?
nowrap Template:Rh | SubEthaEdit Template:Ya Template:Ya
nowrap Template:Rh | TED Notepad ? ?
nowrap Template:Rh | TextEdit Template:Ya Template:Ya
nowrap Template:Rh | TextMate Template:Na Template:Na
nowrap Template:Rh | TextPad ? ?
nowrap Template:Rh | TextWrangler Template:Ya Template:Ya
nowrap Template:Rh | The SemWare Editor Template:Na Template:Na
nowrap Template:Rh | UltraEdit Template:Na Template:Na
nowrap Template:Rh | VEDIT ? ?
nowrap Template:Rh | vi ? ?
nowrap Template:Rh | Vim Template:Ya Template:Ya
through terminal support
nowrap Template:Rh | Visual Studio Code Template:Na Template:Ya
nowrap Template:Rh | XEmacs ? ?
nowrap Template:Rh | XNEdit Template:Na Template:Na
RTL Bidi

Newline support

Support for newline characters in line endings
Windows (CR/LF) Unix-like systems (including macOS)[78] (LF) Classic Mac OS (CR)
nowrap Template:Rh | Acme Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | AkelPad Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Alphatk Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Atom Template:Ya Template:Ya Template:Na
nowrap Template:Rh | BBEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Bluefish Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Brackets Template:Ya Template:Ya Template:Na
nowrap Template:Rh | Coda Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | ConTEXT Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Crimson Editor Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | CudaText Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | ed Template:Na Template:Ya Template:Na
nowrap Template:Rh | Editra Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | EmEditor Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Geany Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | gedit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | GNU EmacsTemplate:Efn Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | JED Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | jEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | JOE[79] Template:Ya Template:Ya Template:Na
nowrap Template:Rh | JOVE Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Kate Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | KEDIT Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Komodo Edit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Komodo IDE Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | KWrite Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | LE Template:Ya Template:Ya Template:Na
nowrap Template:Rh | Metapad Template:Ya Template:Ya ?
nowrap Template:Rh | MS-DOS Editor Template:Ya Template:Na Template:Na
nowrap Template:Rh | mined Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Nano Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | NEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Notepad Template:Ya Template:Na Template:Na
nowrap Template:Rh | Notepad++ Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | nvi ? Template:Ya ?
nowrap Template:Rh | Pico Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | PolyEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | PSPad Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | RJ TextEd Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Sam ? ? ?
nowrap Template:Rh | SciTE Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | SlickEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Smultron Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | SubEthaEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Sublime Text Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | TED Notepad Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | TextEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | TextMate Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | TextPad Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | TextWrangler Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | The SemWare Editor Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | UltraEdit Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | VEDIT Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | vi Template:Na Template:Ya Template:Na
nowrap Template:Rh | Vim Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | Visual Studio Code Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | XEmacs Template:Ya Template:Ya Template:Ya
nowrap Template:Rh | XNEdit Template:Ya Template:Ya Template:Ya
Windows (CR/LF) Unix-like systems (including macOS) (LF) Classic Mac OS (CR)

See also

Notes

Template:Notelist

References

Template:Reflist

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "citation/CS1".
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "citation/CS1".
  12. Script error: No such module "citation/CS1".
  13. Script error: No such module "citation/CS1".
  14. Script error: No such module "citation/CS1".
  15. a b Script error: No such module "citation/CS1".
  16. a b NEdit supports spell checking via a plugTemplate:Nbhin
  17. Notepad++ 6.3.3 Template:Webarchive and above support spell checking via the DSpellCheck plugTemplate:Nbhin, which is included with the default package.
  18. SubEthaEdit supports advanced block editing, including multi-line typing and non-contiguous block selections.
  19. Script error: No such module "citation/CS1".
  20. Script error: No such module "citation/CS1".
  21. Script error: No such module "citation/CS1".
  22. Script error: No such module "citation/CS1".
  23. Script error: No such module "citation/CS1".
  24. Script error: No such module "citation/CS1".
  25. Vim has a popular TagList plugTemplate:Nbhin that provides a function list.
  26. Script error: No such module "citation/CS1".
  27. Script error: No such module "citation/CS1".
  28. Script error: No such module "citation/CS1".
  29. "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 Template:Webarchive.
  30. Script error: No such module "citation/CS1".
  31. Script error: No such module "citation/CS1".
  32. Script error: No such module "citation/CS1".
  33. Script error: No such module "citation/CS1".
  34. Script error: No such module "citation/CS1".
  35. Script error: No such module "citation/CS1".
  36. Script error: No such module "citation/CS1".
  37. a b kwrite-devel, Large Files open slowly due to futile Syntax-Highlighting
  38. a b Script error: No such module "citation/CS1".
  39. Lines longer than ~700 characters frequently cause crashes. KatePart documentation Template:Webarchive (which is also the KWrite documentation, see here Template:Webarchive)
  40. metapad FAQ, Loading Large Files
  41. Script error: No such module "citation/CS1".Template:Cbignore
  42. Script error: No such module "citation/CS1".
  43. Script error: No such module "citation/CS1".
  44. Script error: No such module "citation/CS1".
  45. Script error: No such module "citation/CS1".
  46. "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 Template:Webarchive.
  47. Script error: No such module "citation/CS1".
  48. Script error: No such module "citation/CS1".
  49. Comparison of Windows Text Editors for Large Files: Text editors for large files
  50. a b Script error: No such module "citation/CS1".
  51. Script error: No such module "citation/CS1".
  52. a b pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Template:Webarchive retrieved 2012Template:Nbh01Template:Nbh09.
  53. a b GNU Emacs can have Wordstar emulation, with the command M-x wordstar-mode, as found from ws-mode.el retrieved 2017Template:Nbh03Template:Nbh14. See also the "Emulation" section of the previous GNU Emacs manual. The WordStar mode, however, has been obsolete since GNU Emacs 24.5.
  54. a b c d Script error: No such module "citation/CS1".
  55. Script error: No such module "citation/CS1".
  56. Script error: No such module "citation/CS1".
  57. Kate supports an optional VI Input Mode Template:Webarchive.
  58. a b pico (and nano) uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Template:Webarchive retrieved 2012Template:Nbh01Template:Nbh09.
  59. Script error: No such module "citation/CS1".
  60. Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
  61. Script error: No such module "citation/CS1".
  62. Script error: No such module "citation/CS1".
  63. Script error: No such module "citation/CS1".
  64. Script error: No such module "citation/CS1".
  65. Script error: No such module "citation/CS1".
  66. Script error: No such module "citation/CS1".
  67. Script error: No such module "citation/CS1".
  68. Script error: No such module "citation/CS1".
  69. Script error: No such module "citation/CS1".
  70. a b Text Editor Features Template:Webarchive at ConTEXT.cx
  71. a b jEdit FTP and SFTP are supported via the FTP plugTemplate:Nbhin.
  72. jEdit: "HTTP is supported natively"
  73. a b Script error: No such module "citation/CS1".
  74. Script error: No such module "citation/CS1".
  75. a b c d Vim Supported via netrw plugTemplate:Nbhin distributed in the standard Vim installation.
  76. a b c d Script error: No such module "citation/CS1".
  77. Script error: No such module "citation/CS1".
  78. Script error: No such module "citation/CS1".
  79. Script error: No such module "citation/CS1".