Comparison of text editors
From Wikipedia, the free encyclopedia
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.
| Name | Developer | Initial release | Latest release | Programming language | Cost (US$) | License | GUI | TUI or CLI | |
|---|---|---|---|---|---|---|---|---|---|
| Version | Date | ||||||||
| Acme | Rob Pike | 1993 | Plan 9 and Inferno | C | No cost | MIT GPL-2.0-only LPL-1.02 |
|||
| Alphatk | Vince Darley | 1999 | 8.3.3[1] |
2004-12-10 | $40 | Proprietary, with BSD components | |||
| Atom | GitHub | 2014 | 1.63.1[2] |
2022-11-23 | HTML, CSS, JavaScript, C++ | No cost | MIT | ||
| BBEdit | Rich Siegel | 1992 | 15.5.2[3] |
2025-07-15 | Objective-C, Objective-C++ | No cost for most features, $49.99 for full version | Proprietary | ||
| Bluefish | Bluefish Development Team | 1999 | 2.2.19[4] |
2025-11-21 | C | No cost | GPL-3.0-or-later | ||
| Brackets | Adobe Systems | 2012 | 2.2.1[5] |
2023-03-22 | HTML, CSS, JavaScript, C++ | No cost | MIT | ||
| Coda | Panic | 2007 | Objective-C | $99 | Proprietary | ||||
| ConTEXT | ConTEXT Project Ltd | 1999 | Object Pascal (Delphi) | No cost | BSD-3-Clause | ||||
| Crimson Editor | Ingyu Kang | 1999 | 3.72-r286m[6] |
2011-10-01 | C++ | No cost | Proprietary | ||
| ed | Ken Thompson | 1970 | unchanged from original | C | No cost | ? | |||
| Editra | Cody Precord | 2007 | 0.7.20 | 2013-01-05 | Python | No cost | wxWindows license | ||
| EmEditor | Emurasoft, Inc. | 1997 | 21.3.0 | 2021-11-24 | C++ | $39.99 | Shareware | ||
| epsilon | Lugaru Software | 1984 | 14.00[7] | 2020-10-20 | C | $250 | Proprietary | ||
| FeatherPad | Pedram Pourang | 2016 | 1.4.1[8] |
2023-06-12 | C++, Qt | No cost | GPL-3.0-or-later | ||
| FocusWriter | Graeme Gott | 2008 | 1.8.13[9] |
2025-08-18 | C++, Qt | No cost | GPL-3.0-or-later | ||
| gedit | GNU Project | 2000 | 48.0[10] |
2024-09-14 | C | No cost | GPL-3.0 | ||
| Geany | Enrico Tröger | 2005 | 2.1.0[11] |
2025-07-06 | C, GTK+ | No cost | GPL-2.0-or-later | ||
| GNU Emacs | Richard Stallman | 1984 | 30.2[12] |
2025-08-14 | C, Emacs Lisp | No cost | GPL-3.0-or-later | ||
| GNU nano | Chris Allegretta | 1999 | C | No cost | GPL-3.0-or-later | ||||
| 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 | ||
| JED | John E. Davis | 1992 | 0.99-19 |
2009-12-13 | C, S-Lang | No cost | GPL-2.0-or-later | ||
| jEdit | Slava Pestov | 1998 | 5.7.0[13] |
2024-08-03 | Java | No cost | GPL-2.0-or-later | ||
| JOE | Joseph Allen | 1988 | 4.6[14] |
2018-01-09 | C | No cost | GPL | ||
| JOVE | Johnathon Payne | 1983 | 4.17.5.5[15] |
2025-05-14 | C | No cost | JOVE license | ||
| Kate | KDE Project | 2000-12 | 25.12.2[16] |
2026-02-01 | C++ | No cost | LGPL, MIT | ||
| KEDIT | Mansfield Software Group, Inc. | 1983 | 1.6.1 | 2016-12-05 | C | $129 | Proprietary | ||
| Komodo Edit | Activestate | 2007 | 12.0.1[17] |
2020-02-10 | Python, JavaScript, Perl, Tcl, PHP, Ruby | No cost | MPL, GPL, LGPL | ||
| Komodo IDE | Activestate | 2001 | Python, JavaScript, Perl, Tcl, PHP, Ruby | $295 | Proprietary | ||||
| KWrite | KDE Project | 2000 | 24.12.1[18] |
2025-01-09 | C++ | No cost | LGPL | ||
| LE | Alexander V. Lukyanov | 1997 | 1.16.8[19] |
2021-02-05 | C++ | No cost | GPL-3.0-or-later | ||
| Leo | Edward K. Ream | 1996 | 6.7.6[20] |
2023-12-19 | Python | No cost | MIT | ||
| Light Table | Chris Granger | 2012 | 0.8.1[21] |
2016-01-22 | ClojureScript | No cost | MIT | ||
| mcedit | Miguel de Icaza | 1994 | 4.8.33[22] |
2025-01-23 | C, Python, PHP, Javascript, Perl, Tcl, Ruby | No cost | GPL-3.0-or-later | ||
| Metapad | Alexander Davidson | 1999 | 3.6[23][24] |
2011-05-28 | C | No cost | GPL-3.0-or-later | ||
| mg | Dave Conroy | 1986 | current[a] | 2020-07-22 | C | No cost | Public domain | ||
| MinEd | Thomas Wolff | 1992 | 2022.27 | 2022-12-23 | C | No cost | GPL | ||
| MS-DOS Editor | Microsoft | 1991 | 2.0.026 | Bundled with MS-DOS, Microsoft Windows | Proprietary | ||||
| ne | Sebastiano Vigna Todd Lewis Daniele Filaretti |
1993 | 3.3.4[26] |
2025-02-06 | C | No cost | GPL-3.0-or-later | ||
| NEdit | Mark Edel | 1991 | 5.7[27] |
2017-02-08 | C | No cost | GPL-2.0-or-later | ||
| Notepad | Microsoft | 1985 | 11.2302.16.0 | MASM (originally) | Bundled with Microsoft Windows | Proprietary | |||
| Notepad++ | Don Ho | 2003-11-25 | 8.9.1[28] |
2026-01-26 | C++ | No cost | GPL-3.0-or-later | ||
| nvi | Keith Bostic | 1994 | 1.81.6[29] |
2007-11-18 | C | No cost | BSD-3-Clause | ||
| Pico | University of Washington | 1992 | 4.64 | C | No cost | Apache-2.0 | |||
| PolyEdit | PolySoft Solutions | 1998 | 5.4 | 2010‑04‑07 | $27.95 | Shareware | |||
| PSPad | Jan Fiala | 2002 | 5.5.1[30] |
2025-02-05 | Object Pascal (Delphi) | No cost | Proprietary | ||
| RJ TextEd | Rickard Johansson | 2004 | 15.63[31] |
2022-09-29 | Object Pascal (Delphi) | No cost | Proprietary | ||
| Sam | Rob Pike | 1980s (early) | stable | C | No cost | LPL (OSI approved) | |||
| SciTE | Neil Hodgson | 1999 | 5.5.4[32] |
2024-12-18 | C++ | $41.99 for macOS. No cost for others | HPND | ||
| SlickEdit | SlickEdit, Inc. | 1988 | 28.0.1 | 2024-01-21 | C, Slick-C | $299 | Proprietary | ||
| Smultron | Peter Borg | 2004 | 12.0.6 |
2020-01-03 | Objective-C | $7.99 | Proprietary | ||
| SubEthaEdit | TheCodingMonkeys | 2003 | 5.2.4[33] |
2022-01-08 | No cost | MIT | |||
| Sublime Text | Jon Skinner, Sublime HQ | 2008 | 4 (Build 4200)[34] |
2025-05-21 | C++, Python | $99 | Shareware | ||
| TED Notepad | Juraj Simlovic | 2001 | 6.3.1[35] |
2021-12-01 | C | No cost | Proprietary | ||
| Textadept | Mitchell | 2007 | 12.9[36] |
2025-10-01 | C, Lua | No cost | MIT | ||
| TextEdit | Apple Inc. | 2001 | 1.18 |
2022-10-24 | No cost (also bundled with macOS) | BSD-3-Clause | |||
| TextMate | MacroMates | 2004-10-10 | 2.0.23[37] |
2021-10-12 | Objective-C++ | No cost | GPL-3.0-or-later | ||
| TextPad | Helios Software Solutions | 1992 | 9.3.0[38] |
2023-08-01 | $30.00 (£16.50) | Shareware | |||
| TextWrangler | Bare Bones Software | 2003 | 5.5.2 | 2016-09-20 | No cost | Proprietary | |||
| The SemWare Editor | Sammy Mitchell | 1985-11 | 4.49[39] |
2023-01 | C, SAL | No cost | BSD-2-Clause | ||
| UltraEdit | IDM Computer Solutions | 1994 | 25.0 | 2018-03-12 | C++ | $99.95 | Proprietary | ||
| VEDIT | Ted Green, Greenview Data | 1980 | 6.24.2 | 2015-01-12 | Assembly, C | $89 standard, $239 Pro64 | Proprietary | ||
| vi | Bill Joy | 1976 | 3.7 | C | No cost | BSD-4-Clause or CDDL | |||
| Vim | Bram Moolenaar | 1991 | 9.2[40] |
2026-02-14 | C, Vim script | No cost | Vim | ||
| Visual Studio Code | Microsoft | 2015 | 1.109.2[41][42] |
2026-02-11 | JavaScript, TypeScript | No cost | Source code: MIT[43] Binaries built by Microsoft: Proprietary[44][45] |
||
| XEmacs | Lucid Inc. | 1991 | 21.4.22[46] |
2009-01-30 | C, Emacs Lisp | No cost | GPL-2.0-or-later | ||
| XNEdit | Olaf Wintermann | 2018 | 1.5.2 | 2023-10-05 | C | No cost | GPL-2.0-or-later | ||
Operating system support
| Windows | macOS | Linux | BSD | Unix | OpenVMS | |
|---|---|---|---|---|---|---|
| Acme | Partial [b] |
|||||
| Alphatk | ||||||
| Atom | ||||||
| Arachnophilia | ||||||
| BBEdit | ||||||
| Bluefish | ||||||
| Brackets | ||||||
| Coda | ||||||
| ConTEXT | ||||||
| Crimson Editor | ||||||
| ed | Partial [c] |
|||||
| Editra | ? | ? | ? | |||
| EmEditor | ||||||
| epsilon | [47] |
|||||
| Geany | ||||||
| gedit | [d] |
|||||
| GNU Emacs | ||||||
| JED | ||||||
| jEdit | ||||||
| JOE | ||||||
| JOVE | ||||||
| Kate | ||||||
| KEDIT | ||||||
| Komodo Edit | ? | ? | ||||
| Komodo IDE | ? | ? | ||||
| KWrite | ||||||
| LE | Partial [c] |
|||||
| Light Table | ||||||
| Metapad | ||||||
| mg | ? | |||||
| MinEd | ||||||
| GNU nano | ||||||
| ne | Partial [c] |
|||||
| NEdit | Partial [c] |
[e] |
||||
| Notepad | ||||||
| Notepad++ | ||||||
| nvi | ||||||
| Pico | ||||||
| PSPad | ||||||
| RJ TextEd | ||||||
| Sam | Partial [b] |
|||||
| SciTE | [e] |
|||||
| 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 | Partial [c][f] |
[e] |
Natural language (localization)
| Languages | |
|---|---|
| Acme | English |
| Alphatk | English |
| Atom | English |
| BBEdit | English |
| Brackets | English, German, French, Polish(Outdated), Korean, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish(Outdated) |
| Coda | English, German, French, Spanish |
| ConTEXT | English, German, French, Polish, Italian, Dutch, Portuguese, Spanish |
| Crimson Editor | English |
| ed | |
| Editra | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
| EmEditor | English, German, French, Korean, Japanese, Italian, Dutch, Spanish |
| epsilon | English |
| Geany | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
| gedit | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
| GNU Emacs | English |
| JED | English |
| jEdit | English |
| JOE[48] | English, German, French |
| JOVE | English |
| Kate[49] | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
| KEDIT | English |
| Komodo Edit | English |
| KWrite | English, German, Italian, Spanish, Swedish |
| Metapad[50] | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
| mined | English |
| MS-DOS Editor | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
| Nano | English, German, French, Italian, Portuguese |
| NEdit | English |
| Notepad | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
| Notepad++ | English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish, Hindi |
| nvi | English |
| Pico | English, Italian |
| PolyEdit | English |
| PSPad | English, German, French, Polish, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish |
| RJ TextEd | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
| Sam | English |
| SciTE[51] | English, German, French (Outdated (1.72)), Polish, Japanese (Outdated (1.62)), Italian, Dutch (Outdated (1.67)), Portuguese (Outdated (1.63)), Spanish, Swedish |
| SlickEdit | English |
| Smultron | English, German, French, Japanese, Italian, Dutch, Spanish, Swedish |
| SubEthaEdit | English |
| TED Notepad | English |
| TextEdit | English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish |
| TextMate | English |
| 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)) |
| TextWrangler | English |
| The SemWare Editor | English |
| UltraEdit | English, German, French, Korean, Italian, Spanish, Portuguese, Japanese, Chinese |
| VEDIT | English |
| vi | English |
| 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 |
| Visual Studio Code | English, Bulgarian, Chinese, French, German, Hungarian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Turkish |
| XEmacs | English |
| 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).
| Multiple instances | Single document window splitting | MDI overlappable windows | MDI tabbed document interface | MDI window splitting | |
|---|---|---|---|---|---|
| Acme | |||||
| Alphatk | |||||
| Atom | |||||
| BBEdit | |||||
| Bluefish | |||||
| Brackets | |||||
| Coda | |||||
| ConTEXT | |||||
| Crimson Editor | |||||
| ed | |||||
| Editra | ? | ? | |||
| EmEditor | |||||
| Geany | Plug‑in |
||||
| gedit | Plug‑in[g] |
Plug‑in[h] | |||
| GNU Emacs | [i][j] |
||||
| JED | |||||
| jEdit | |||||
| JOE | [k] |
||||
| JOVE | |||||
| Kate | |||||
| KEDIT | |||||
| Komodo Edit | |||||
| Komodo IDE | |||||
| KWrite | |||||
| LE | |||||
| Light Table | |||||
| Metapad | |||||
| mined | [l] |
||||
| MS-DOS Editor | |||||
| Nano | |||||
| NEdit | |||||
| Notepad | |||||
| Notepad++ | 2 windows | ||||
| nvi | |||||
| Pico | |||||
| PolyEdit | |||||
| PSPad | |||||
| RJ TextEd | |||||
| Sam | |||||
| SciTE | [m] |
||||
| SlickEdit | |||||
| Smultron | |||||
| SubEthaEdit | |||||
| TED Notepad | ? | ? | ? | ? | |
| TextEdit | |||||
| TextMate | |||||
| TextPad | |||||
| TextWrangler | |||||
| The SemWare Editor | |||||
| UltraEdit | |||||
| VEDIT | |||||
| vi | |||||
| Vim | [n] |
[o] |
|||
| Visual Studio Code | |||||
| XEmacs | |||||
| XNEdit |
Basic features
Programming features
| Syntax highlighting | Function list | Symbol database | Bracket matching | Auto indentation | Auto completion | Code folding | Text folding | Compiler integration | |
|---|---|---|---|---|---|---|---|---|---|
| Acme | external[p] |
external[p] |
Partial [an] |
external[p] | |||||
| Alphatk | ? | ? | |||||||
| Atom | Plug‑in | ||||||||
| BBEdit | |||||||||
| Bluefish | [ao] | ||||||||
| Brackets | Plug‑in | ||||||||
| Coda | |||||||||
| ConTEXT | ? | ? | |||||||
| Crimson Editor | Partial [ap] |
||||||||
| ed | external[aq] | ||||||||
| Editra | ? | ? | ? | ? | ? | ||||
| EmEditor | Plug‑in |
Plug‑in |
Plug‑in[ar] |
||||||
| Geany | [as] |
Partial | |||||||
| gedit | Plug‑in |
Plug‑in |
Plug‑in |
Plug‑in[at] |
[au] | ||||
| GNU Emacs | |||||||||
| JED | |||||||||
| jEdit | Plug‑in |
Plug‑in |
Plug‑in | ||||||
| JOE | ? | ? | |||||||
| JOVE | |||||||||
| Kate | Plug‑in |
Plug‑in |
Plug‑in | ||||||
| KEDIT | Macro |
||||||||
| Komodo Edit | |||||||||
| Komodo IDE | |||||||||
| KWrite | ? | ? | |||||||
| LE | [av] | ||||||||
| Light Table | Partial [aw] | ||||||||
| Metapad | |||||||||
| mined | [ax] |
? | |||||||
| MS-DOS Editor | |||||||||
| Nano | |||||||||
| ne | |||||||||
| NEdit | Plug‑in |
Plug‑in |
|||||||
| Notepad | |||||||||
| Notepad++ | [ay] |
[65][66] |
[az] |
||||||
| nvi | ? | ||||||||
| Pico | |||||||||
| PolyEdit | |||||||||
| PSPad | Plug‑in |
||||||||
| RJ TextEd | |||||||||
| Sam | external[ah] | ||||||||
| SciTE | [ba] |
? | |||||||
| SlickEdit | |||||||||
| Smultron | ? | ? | ? | ||||||
| SubEthaEdit | ? | ? | |||||||
| TED Notepad | ? | ? | |||||||
| TextEdit | |||||||||
| TextMate | Plug‑in |
[bb] |
|||||||
| TextPad | Plug‑in[bc] |
||||||||
| TextWrangler | Plug‑in[bd] | ||||||||
| The SemWare Editor | Plug‑in[67] |
[be] |
Partial [bf] |
||||||
| UltraEdit | Partial [bg] |
||||||||
| VEDIT | <[bh] |
||||||||
| vi | |||||||||
| Vim | Plug‑in[68] |
||||||||
| Visual Studio Code | |||||||||
| XEmacs | ? | ||||||||
| XNEdit | Plug‑in |
Plug‑in |
Additional programming features
| CLI shell integration | GUI shell integration | Macro language | Collaborative editing | Large file support | Long line support | Multi-line regex support | Search in files | |
|---|---|---|---|---|---|---|---|---|
| Acme | Extensible |
? | ? | ? | ||||
| Alphatk | [bi] |
? | ? | ? | ? | |||
| Atom | [69] |
? | Plug‑in[70] |
Soft-wrapping | [71] |
|||
| BBEdit | [bj] |
memory [72] |
||||||
| Bluefish | ? | ? | ? | ? | ||||
| Brackets | Extensible |
? | Partial | |||||
| Coda | [bk] |
? | ? | |||||
| ConTEXT | memory [bl] |
? | ? | |||||
| Crimson Editor | ? | ? | ||||||
| ed | via mkfifo |
? | ? | ? | ||||
| Editra | ? | ? | ? | ? | 2 GB |
? | ? | ? |
| EmEditor | 16TB |
? | ||||||
| Geany | ? | Plug‑in |
? | ? | ? | |||
| gedit | [bm] |
Plug‑in |
? | Plug‑in[73] | ||||
| GNU Emacs | 2.3 EB[74][75][76][77] | |||||||
| JED | memory [78] |
Plug‑ins | ||||||
| jEdit | ? | |||||||
| JOE | ? | ? | [80] | |||||
| JOVE | memory | ? | ||||||
| Kate | Plug‑in |
[81] |
Maybe [bo] |
Plug‑in | ||||
| KEDIT | 10Kb | |||||||
| Komodo Edit | ? | ? | [83] |
? | ? | |||
| Komodo IDE | ? | ? | [83] |
? | ? | |||
| KWrite | [81] |
[84] |
? | |||||
| LE | [bp] |
memory [bq] |
? | ? | ||||
| Light Table | ? | ? | ||||||
| Metapad | memory [85] |
? | ||||||
| mined | ? | ? | ? | ? | ? | ? | ? | |
| EDIT (MS-DOS) | ||||||||
| EDIT (DR-DOS) | 2 GB, for as long as there is disk swap space for two temporary files | |||||||
| Nano | ? | ? | ? | ? | ||||
| NEdit | ? | |||||||
| Notepad | memory | ? | ||||||
| Notepad++ | [86] |
2GB[87] |
[88] |
|||||
| nvi | ? | ? | ? | ? | ? | |||
| Pico | ? | ? | ? | ? | ? | ? | ? | |
| PolyEdit | ? | ? | ||||||
| PSPad | memory [89] |
? | with plug‑in |
|||||
| RJ TextEd | ? | ? | ||||||
| Sam | ? | ? | external[ah] | |||||
| SciTE | ? | ? | ? | |||||
| SlickEdit | 2 TB |
|||||||
| Smultron | ? | ? | ? | ? | ? | ? | ? | ? |
| SubEthaEdit | ? | ? | ? | |||||
| TED Notepad | ? | ? | ? | |||||
| TextEdit | ? | ? | ? | ? | ||||
| TextMate | ? | ? | ||||||
| TextPad | memory [90] |
? | ||||||
| TextWrangler | memory [91] |
? | ||||||
| The SemWare Editor | 2 GB |
? | ||||||
| UltraEdit | [br] |
|||||||
| VEDIT | ||||||||
| vi | ? | |||||||
| Vim | with plug‑in[92] |
memory [bs] |
||||||
| Visual Studio Code | with plug‑in[93] |
? | ? | |||||
| XEmacs | on 64-bit OS [bt] |
? | ||||||
| XNEdit | ? |
Key bindings
| Custom | IBM CUA | macOS | vi | Emacs | Pico | WordStar | WordPerfect | Brief | |
|---|---|---|---|---|---|---|---|---|---|
| Acme | |||||||||
| Alphatk | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Atom | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| BBEdit[94][95] | ? | ? | ? | ? | ? | ? | |||
| Bluefish | ? | ? | ? | ? | ? | ? | ? | ||
| Brackets | Partial | Plug‑in |
Plug‑in |
||||||
| Coda | ? | ? | ? | ? | ? | ? | ? | ||
| ConTEXT | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Crimson Editor | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| ed | |||||||||
| Editra | |||||||||
| EmEditor | ? | ? | ? | ? | ? | ? | ? | ? | |
| epsilon | ? | ? | ? | ? | ? | ? | |||
| Geany | ? | ? | ? | ? | ? | ? | ? | ? | |
| gedit | [bu] |
? | ? | ? | ? | ? | ? | ? | ? |
| GNU Emacs | Partial [96] |
[97] |
[98] |
[98] | |||||
| JED | Partial [bv] |
? | ? | ? | |||||
| jEdit | ? | ? | ? | ? | ? | ? | |||
| JOE[99] | |||||||||
| JOVE | [100] |
||||||||
| LE | ? | ? | ? | ? | ? | ? | ? | ||
| Light Table | Partial | ? | Plug‑in |
Plug‑in |
? | ? | ? | ? | |
| Kate | [101] |
||||||||
| KEDIT | |||||||||
| Komodo Edit | ? | ? | ? | ? | ? | ||||
| Komodo IDE | ? | ? | ? | ? | ? | ||||
| KWrite | ? | ? | ? | ? | ? | ? | ? | ? | |
| Metapad | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| mg | ? | ? | ? | ? | ? | ? | ? | ||
| mined | ? | ? | ? | ? | ? | ? | |||
| MS-DOS Editor | |||||||||
| Nano | Partial [102] |
||||||||
| NEdit | ? | ? | ? | ? | ? | ? | ? | ? | |
| Notepad | |||||||||
| Notepad++ | Partial | ||||||||
| nvi | ? | ? | ? | ? | ? | ? | ? | ? | |
| Pico | Partial [102] |
||||||||
| PolyEdit | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| PSPad | ? | ? | ? | ? | ? | ? | ? | ? | |
| RJ TextEd | ? | ? | ? | ? | ? | ? | ? | ? | |
| Sam | |||||||||
| SciTE | Partial [bw] |
? | ? | ? | ? | ? | |||
| SlickEdit | [bx] |
[by] |
Partial [bz] |
||||||
| Smultron | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| SubEthaEdit | |||||||||
| TED Notepad | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| TextEdit | |||||||||
| TextMate | |||||||||
| TextPad | ? | ? | ? | ? | ? | ? | ? | ? | |
| TextWrangler[94][103] | ? | ? | ? | ? | |||||
| The SemWare Editor | ? | ? | ? | ? | ? | ? | ? | ? | |
| UltraEdit | ? | ? | ? | ? | ? | ? | ? | ||
| VEDIT | [104] |
||||||||
| vi | |||||||||
| Vim | Partial | Plug‑in[105] |
Plug‑in[106] |
[ca] |
Plug‑in[cb] |
? | Plug‑in[108] |
Plug‑in[109] | |
| Visual Studio Code | Plug‑in[110] |
Plug‑in[111] |
Partial Plug‑in[112] | ||||||
| XEmacs | Partial [96] |
[97] |
[98] |
[98] | |||||
| XNEdit | ? | ? | ? | ? | ? | ? | ? | ? |
Notes:
- Vim
- Custom maps of Ctrl-1 .. Ctrl-9, Ctrl-0 cannot be set, nor is Control-Shift-<char> distinguished from Ctrl-<char>.[113][114]
- 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
| FTP | HTTP | SSH | WebDAV | |
|---|---|---|---|---|
| Acme | ||||
| Alphatk | ||||
| Atom | ? | ? | ? | ? |
| BBEdit | ||||
| Bluefish | ||||
| Brackets | Plug‑in |
|||
| Coda | ||||
| ConTEXT | [115] |
? | [115] |
? |
| Crimson Editor | ||||
| ed | ||||
| Editra | ? | ? | ? | ? |
| EmEditor | ||||
| Geany | ||||
| gedit | ||||
| GNU Emacs | ||||
| JED | ||||
| jEdit | plug‑in[116] |
[117] |
plug‑in[116] |
plug‑in. |
| JOE | ||||
| JOVE | ||||
| LE | ||||
| Kate | ||||
| KEDIT | ||||
| Komodo IDE | FTP, FTPS, SFTP |
|||
| KWrite | ||||
| Metapad | ||||
| mined | ? | ? | ? | ? |
| MS-DOS Editor | ||||
| Nano | ||||
| FTP | HTTP | SSH | WebDAV | |
| NEdit | ||||
| Notepad | ||||
| Notepad++ | Plug‑in for FTP, FTPS, FTPES, SFTP |
Plug‑in |
||
| nvi | ||||
| Pico | ||||
| PolyEdit | ||||
| PSPad | ||||
| RJ TextEd | FTP, SFTP |
|||
| Sam | ||||
| SciTE | ||||
| SlickEdit | ||||
| Smultron | ? | ? | ? | |
| SubEthaEdit | ||||
| TED Notepad | [118] |
? | [118] |
? |
| TextEdit | ||||
| TextMate | ||||
| TextPad | ||||
| TextWrangler | FTP, SFTP[119] |
|||
| The SemWare Editor | ||||
| UltraEdit | ||||
| VEDIT | ||||
| vi | ||||
| Vim | [120] |
[120] |
[120] |
[120] |
| Visual Studio Code | Plug‑in[121] |
Plug‑in (limited?)[121] |
Plug‑in[121] |
Plug‑in[121] |
| 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.
| ASCII | ISO-8859 | DOS (OEM) | EBCDIC | UTF-8 | UTF-16 | |
|---|---|---|---|---|---|---|
| Acme | ? | ? | ? | ? | ||
| Alphatk | ? | ? | ? | |||
| Atom | ? | ? | ? | ? | ? | ? |
| BBEdit | ||||||
| Bluefish | ||||||
| Brackets | ||||||
| Coda | ? | |||||
| ConTEXT | Partial [cc] |
|||||
| Crimson Editor | Partial [cc] |
Partial | ||||
| ed | ? | ? | ? | |||
| Editra | ||||||
| EmEditor | ||||||
| Geany | ? | |||||
| gedit | ? | ? | ||||
| GNU Emacs | [cd] |
[ce] | ||||
| JED | ? | Partial [cf] | ||||
| jEdit | ||||||
| JOE | ? | ? | ? | |||
| JOVE | ||||||
| LE | ? | ? | ? | |||
| Kate | ? | ? | ||||
| KEDIT | Partial [cc] |
|||||
| Komodo Edit | ||||||
| Komodo IDE | ||||||
| KWrite | ? | ? | ? | |||
| Metapad | Partial [cc] |
|||||
| mined | ||||||
| MS-DOS Editor | ? | ? | ? | ? | ||
| Nano | ? | ? | ||||
| NEdit | ? | ? | ? | |||
| Notepad | Partial [cc] |
|||||
| Notepad++ | plug‑in? | |||||
| nvi | ? | ? | ? | [cg] |
||
| Pico | ||||||
| PolyEdit | ? | ? | ? | |||
| PSPad | ? | |||||
| RJ TextEd | ||||||
| Sam | ? | ? | ? | |||
| SciTE[ch] | ||||||
| SlickEdit | ||||||
| Smultron | ? | ? | ? | |||
| SubEthaEdit | ||||||
| TED Notepad | ? | ? | ? | |||
| TextEdit | ? | ? | ||||
| TextMate | ? | ? | ||||
| TextPad | ? | ? | ? | Partial [ci] |
Partial [ci] | |
| TextWrangler | ||||||
| The SemWare Editor | [cj] |
Partial [cc] |
Plug‑in |
|||
| UltraEdit | ||||||
| VEDIT | Partial [ck] |
Partial [ck] | ||||
| vi | ? | ? | ? | |||
| Vim | Partial [cl] |
|||||
| Visual Studio Code | [123] |
|||||
| XEmacs | ? | ? | [cm] |
|||
| 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.
| RTL | Bidi | |
|---|---|---|
| Acme | ||
| Alphatk | ? | ? |
| Atom | ||
| BBEdit | ||
| Bluefish | ||
| Brackets | ? | ? |
| Coda | ? | ? |
| ConTEXT | ? | ? |
| Crimson Editor | ? | ? |
| ed | ? | ? |
| Editra | ? | ? |
| EmEditor | ||
| Geany | ? | ? |
| gedit | ||
| GNU Emacs | [cn] | |
| JED | ? | ? |
| jEdit | ||
| JOE | ? | ? |
| JOVE | ||
| LE | ? | ? |
| Kate | ||
| KEDIT | ||
| Komodo Edit | ||
| Komodo IDE | ||
| KWrite | ? | ? |
| Metapad | ? | ? |
| MS-DOS Editor | ? | ? |
| mined | [co] |
[co] |
| Nano | ? | ? |
| NEdit | ||
| Notepad | ||
| Notepad++ | Partial [cp] | |
| 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).[124]
- CR
- Generally, used on Classic Mac OS.