Comparison of text editors

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

Template:Short description 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

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

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

Template:Sticky headerTemplate:Sort under

Natural language (localization)

Languages
nowrap Template:Rh | Acme English
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 | 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

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).

Template:Sticky headerTemplate:Sort under

Basic features

Template:Sticky headerTemplate:Sort under

Programming features

Template:Sticky headerTemplate:Sort under

Additional programming features

Template:Sticky headerTemplate:Sort under

Key bindings

Notes:

Vim
Custom maps of Ctrl-1 .. Ctrl-9, Ctrl-0 cannot be set, nor is Control-Shift-<char> distinguished from Ctrl-<char>.[66][67]
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

Character encoding support

The following table identifies notable character encodings that an editor supports

  1. REDIRECT Template:En dash

Template:R protected 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.

Template:Static row numbersTemplate:Sticky header

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.

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).[76]
CR
Generally, used on Classic Mac OS.

See also

Notes

Template:Notelist

References

<templatestyles src="Reflist/styles.css" />

  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. Vim has a popular TagList plugTemplate:Nbhin that provides a function list.
  25. Script error: No such module "citation/CS1".
  26. Script error: No such module "citation/CS1".
  27. Script error: No such module "citation/CS1".
  28. "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.
  29. Script error: No such module "citation/CS1".
  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. a b kwrite-devel, Large Files open slowly due to futile Syntax-Highlighting
  37. a b Script error: No such module "citation/CS1".
  38. Lines longer than ~700 characters frequently cause crashes. KatePart documentation Template:Webarchive (which is also the KWrite documentation, see here Template:Webarchive)
  39. metapad FAQ, Loading Large Files
  40. Script error: No such module "citation/CS1".Template:Cbignore
  41. Script error: No such module "citation/CS1".
  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. "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.
  46. Script error: No such module "citation/CS1".
  47. Script error: No such module "citation/CS1".
  48. a b Script error: No such module "citation/CS1".
  49. Script error: No such module "citation/CS1".
  50. 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.
  51. 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.
  52. a b c d Script error: No such module "citation/CS1".
  53. Script error: No such module "citation/CS1".
  54. Script error: No such module "citation/CS1".
  55. Kate supports an optional VI Input Mode Template:Webarchive.
  56. 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.
  57. Script error: No such module "citation/CS1".
  58. Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
  59. Script error: No such module "citation/CS1".
  60. Script error: No such module "citation/CS1".
  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. a b Text Editor Features Template:Webarchive at ConTEXT.cx
  69. a b jEdit FTP and SFTP are supported via the FTP plugTemplate:Nbhin.
  70. jEdit: "HTTP is supported natively"
  71. a b Script error: No such module "citation/CS1".
  72. Script error: No such module "citation/CS1".
  73. a b c d Vim Supported via netrw plugTemplate:Nbhin distributed in the standard Vim installation.
  74. a b c d Script error: No such module "citation/CS1".
  75. Script error: No such module "citation/CS1".
  76. Script error: No such module "citation/CS1".
  77. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".