Comparison of text editors

This article provides basic comparisons for common text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

Feature comparisons are made between stable versions of software, not the upcoming versions or beta releases – and are exclusive of any add-ons, extensions or external programs (unless specified in footnotes).

Overview

List of text editors
Creator First public release Latest stable version Latest Release Date Programming language Cost (US$) Software license Open source CLI available Minimum installed size
Acme Rob Pike 1993 Plan 9 and Inferno C Free LPL (OSI approved)
AkelPad Alexey Kuznetsov, Alexander Shengalts 2003 4.9.8 20160718 C Free BSD
Alphatk Vince Darley 1999 8.3.3 20041210 $40 Proprietary, with BSD components
Aquamacs David Reitter 2005 3.3 20160920 C, Emacs Lisp Free GPL
Atom GitHub 2014 1.42.0 20191216 HTML, CSS, JavaScript, C++ Free MIT ~ 107185 MB
BBEdit Rich Siegel 1992 12.1.3 20180411 Objective-C, Objective-C++ $49.99 Proprietary
Bluefish Bluefish Development Team 1999 2.2.10 20170127 C Free GPL
Brackets Adobe Systems 2012 1.14 20190502 HTML, CSS, JavaScript, C++ Free MIT ~ 64105 MB
Coda Panic 2007 2.6.6 20170605 Objective-C $99 Proprietary
ConTEXT ConTEXT Project Ltd 1999 0.98.6 20090814 Object Pascal (Delphi) Free BSD
Crimson Editor Ingyu Kang, Emerald Editor Team 1999 3.72 20080514 C++ Free GPL
CudaText UVViewSoft (alexey_t, kvichans, matthias030) 2015 1.57.0 20180625 Object Pascal (Lazarus) Free MPL 2.0 8 MB Mac

12 MB Win

5 Mb *nix

E Text Editor Alexander Stigsen 2005 2.0.2 20101130 $46.95 Proprietary, with BSD components
ed Ken Thompson 1970 unchanged from original C Free ? 0.04 MB
EditPlus Sangil Kim 1998 5.0 20180326 C++ $35 Shareware
Editra Cody Precord 2007 0.7.20 20130105 Python Free wxWindows license
EmEditor Emurasoft, Inc. 1997 18.64 20190208 C++ 149.99 Shareware
epsilon Lugaru Software 1984 13.06 20161206 C $250 Proprietary
gedit GNU Project 2000 3.28.2 (Win 3.20.1, Mac 3.2.6[1]) 20180509 C Free GPL
Geany Enrico Tröger 2005 1.33 20180225 C, GTK2 Free GPL
GNU Emacs Richard Stallman 1984 26.1 20180528 C, Emacs Lisp Free GPL 11.6 MB
JED John E. Davis 1992 0.9919 20091213 C, S-Lang Free GPL 3.5 MB[2]
jEdit Slava Pestov 1998 5.4.0 20170318 Java Free GPL
JOE Joseph Allen 1988 4.6 20180110 C Free GPL 1.3 MB
JOVE Johnathon Payne 1983 4.16 19960319 C Free GPL
Kate KDE Project 200012 17.12.3 20180308 C++ Free GPL
KEDIT Mansfield Software Group, Inc. 1983 1.6.1 20161205 C $129 Proprietary 1.1MB
Komodo Edit Activestate 2007 (open-sourced) 10.2.3 20170711 Python, JavaScript, Perl, Tcl, PHP, Ruby Free MPL, GPL, LGPL
Komodo IDE Activestate 2001 11.0.2 20171219 Python, JavaScript, Perl, Tcl, PHP, Ruby $295 Proprietary
KWrite KDE Project 2000 17.12.3 20170308 C++ Free GPL
LE Alexander V. Lukyanov 1997 1.16.3 20160606 C++ Free GPL
Leo Edward K. Ream 1996 5.7.2 20180507 Python Free MIT
Light Table Chris Granger 2012 0.8.1 20160121 ClojureScript Free MIT
Metapad Alexander Davidson 1999 3.6 20110528 C Free GPL
mg Dave Conroy 1986 current C Free Public domain
MinEd Thomas Wolff 1992 2015.25 20150330 C Free GPL
MS-DOS Editor Microsoft 1991 2.0.026 Bundled with MS-DOS, Microsoft Windows Proprietary
Nano Chris Allegretta 1999 4.6 20191129 C Free GPL 0.6 MB
ne Sebastiano Vigna, Todd Lewis, Daniele Filaretti 1993 3.2.1 20191002 C Free GPL 2.7 MB
NEdit Mark Edel 1991 5.7 20170208 C Free GPL
Notepad Microsoft 1985 6.0 MASM (originally) Bundled with Microsoft Windows Proprietary
Notepad++ Don Ho 20031125 7.7.1 20190620 C++ Free GPL 11.9 MB
Notepad2 Florian Balmer 200404 4.2.25 20110506 C++ Free BSD
NoteTab Eric Fookes, Fookes Software 1995 7.2 20141104 Object Pascal (Delphi) Free, €39.95 Pro Proprietary
nvi Keith Bostic 1994 1.79 C Free BSD
Peppermint Ioannis Zafeiropoulos 2014 1.4 20141207 Objective-C, JavaScript $14.99 Proprietary
Pico University of Washington 1992 4.64 C Free AL2
PolyEdit PolySoft Solutions 1998 5.4 20100407 $27.95 Shareware
PSPad Jan Fiala 2002 5.0.0 (277) 20180424 Object Pascal (Delphi) Free Proprietary
Q10 Baara Estudio 2007 1.2.21 20110616 ? Free Proprietary
RJ TextEd Rickard Johansson 2004 13.10 20180507 Object Pascal (Delphi) Free Proprietary
RText Fifesoft 2003 2.6.3 20170430 Java Free BSD
Sam Rob Pike 1980s (early) stable C Free LPL (OSI approved)
SciTE Neil Hodgson 1999 4.0.5 20180410 C++ $41.99 for macOS. free for others HPND
SlickEdit SlickEdit, Inc. 1988 23.0.0 20181023 C, Slick-C $299 Proprietary
Smultron Peter Borg 2004 9.2.3 20170220 Objective-C $5 Proprietary
Source Insight Source Dynamics ? 4.0.0084 20170226 Source Insight macro language $239-$255 Proprietary
SubEthaEdit TheCodingMonkeys 2003 4.1 20150225 $35 commercial use Proprietary
Sublime Text Jon Skinner 2008 3.2.2 (Build 3211) 20191001 C++, Objective-C++ (macOS version), Python $80 Proprietary ~ 1015 MB
TED Notepad Juraj Simlovic 2001 6.1.1 20161204 C Free Freeware
Textadept Mitchell 2007 9.6 20171101 C, Lua Free MIT
TextEdit Apple Inc. 2001 1.13 20170716 Free (also bundled with macOS) New BSD
TextMate MacroMates 20041010 1.5.11 20120713 Objective-C++ $53 (€39) Proprietary, with MIT components. Version 2 released under GPLv3 (from version 2)
TextPad Helios Software Solutions 1992 8.1.2 20170307 $30.00 (£16.50) Shareware
TextWrangler Bare Bones Software 2003 5.5.1 20160727 Free Proprietary
The SemWare Editor Sammy Mitchell 198511 4.4 20050624 C, SAL $99 Proprietary
UltraEdit IDM Computer Solutions 1994 25.0 20180312 C++ $99.95 Proprietary
VEDIT Ted Green, Greenview Data 1980 6.24.2 20150112 Assembly, C $89 standard,239 Pro64 Proprietary 0.6 MB
vi Bill Joy 1976 3.7 C Free BSD or CDDL
Vim Bram Moolenaar 1991 8.2 20191212 C, Vim script Free GPL compatible 2.2 MB
Visual Studio Code Microsoft 2015 1.40.1 20191113 JavaScript, C#, C++, JSON, HTML, PHP, Python, Markdown, TypeScript, CSS Free MIT ~ 5382 MB
XEmacs Lucid Inc. 1991 21.4.22 20090130 C, Emacs Lisp Free GPL

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

Text editor support for various operating systems
Microsoft Windows macOS Linux BSD Unix OpenVMS
Acme Partial
[3]
AkelPad
Alphatk
Aquamacs
Atom
Arachnophilia
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
CudaText
ed Partial
[4]
EditPlus
Editra ? ? ?
EmEditor
epsilon
[5]
Geany
gedit
[1]
GNU Emacs
JED
jEdit
JOE
JOVE
Kate
KEDIT
Komodo Edit ? ?
Komodo IDE ? ?
KWrite
LE Partial
[4]
Light Table
Metapad
mg ?
MinEd
Nano
ne Partial
[4]
NEdit Partial
[4]

[6]
Notepad
Notepad++
Notepad2
NoteTab
nvi
Peppermint
Pico
PSPad
Q10
RJ TextEd
RText
Sam Partial
[3]
SciTE
[6]
SlickEdit
Smultron
Source Insight
SubEthaEdit
Sublime Text
TED Notepad
Textadept
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
Ulysses (text editor)
vi
Vim
Visual Studio Code ? ? ?
XEmacs

Natural language (localization)

Available languages for the UI
Languages supported
Acme English
AkelPad English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish
Alphatk English
Aquamacs 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
CudaText Main: English. Addons: Japanese, French, Polish, Korean, Hungarian (2018), Greek, German (2017), and 9 others
E Text Editor English
ed
EditPlus English, Korean
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[7] English, German, French
JOVE English
Kate[8] English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
KEDIT English
Komodo Edit English
KWrite English, German, Italian, Spanish, Swedish
Metapad[9] 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
Notepad2 English, German, French, Polish, Spanish, Swedish
NoteTab English
nvi English
Peppermint English
Pico English, Italian
PolyEdit English
PSPad English, German, French, Polish, Japanese, Italian, Czech, Dutch, Portuguese, Spanish, Swedish
Q10 English, German, Italian, Dutch, Portuguese, Spanish
RJ TextEd English, German, French, Polish, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
RText English, German, French, Polish, Korean, Japanese, Italian, Dutch, Portuguese, Spanish, Swedish
Sam English
SciTE[10] 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
Source Insight English
SubEthaEdit English
SublimeText 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), Norwegian(Nynorsk), 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

Document interface

Text editor support for common document interfaces
Multiple instances Single document window splitting MDI: overlappable windows MDI: tabbed document interface MDI: window splitting
Acme
AkelPad
Alphatk
Atom
Aquamacs
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
CudaText
E Text Editor
ed
EditPlus
Editra ? ?
EmEditor
Geany
Plugin
gedit
Plugin[11]

Plugin[12]
GNU Emacs
Plugin[13][14]
JED
jEdit
JOE
[15]
JOVE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
LE
Light Table
Metapad
mined
[16]
MS-DOS Editor
Nano
NEdit
Notepad
Notepad++
2 windows
Notepad2
NoteTab ?
2 windows
nvi
Peppermint
Pico
PolyEdit
PSPad
Q10
RJ TextEd
RText
Sam
SciTE
[17]
SlickEdit
Smultron
Source Insight
SubEthaEdit
Sublime Text
TED Notepad ? ? ? ?
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
[18]

[19]
Visual Studio Code
XEmacs
Multiple instances Single document window splitting MDI: overlappable windows MDI: tabbed document interface MDI: window splitting

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

Text editor support for basic editing features
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection
Acme
external[20]
AkelPad
Plugin
Alphatk
Atom
Plugin
Aquamacs
BBEdit
Bluefish
Brackets
Plugin

Plugin
Coda
ConTEXT Partial
[21]
Partial
[22]
Crimson Editor
Instant/live (like Firefox)
CudaText
E Text Editor
Plugin[23]
ed
EditPlus
Editra ? ? ?
EmEditor
Geany
Plugin[24]
gedit
[25]

Plugin[26]
plug‑in
[27]
GNU Emacs
Plugin[28]
JED
jEdit
Plugin[29]
JOE
Plugin[30]
Partial
[31]

[32]
JOVE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
LE
[33]
Light Table
Plugin[34]
? ?
Metapad Partial
[35]
mg
[36]
Partial
[36]
MinEd
[37]

[38]

[39]
MS-DOS Editor
Nano
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection
ne
NEdit
Plugin[40]
Notepad
Notepad++
[41]
Notepad2 Limited
[42]
NoteTab
nvi ?
Peppermint
Pico
PolyEdit
PSPad
Q10 ? ? ? ? ?
RJ TextEd
RText
Sam
SciTE Limited
[42]
SlickEdit
Smultron
Source Insight
SubEthaEdit
[43]
Sublime Text
TED Notepad
TextEdit
TextMate Partial
TextPad
TextWrangler
The SemWare Editor
UltraEdit Limited
[44]
VEDIT
[45]
vi
Vim
[46]
Visual Studio Code
Plugin
XEmacs
Plugin[28]
Spell checking Regex-based find & replace Encoding conversion Newline conversion Multiple undo/redo Rectangular block selection

Programming features

Text editor support for programming features (see source code editor)
Syntax highlighting Function list Symbol database
(ctags or equiv.)
Brace matching Auto indentation Auto completion Code folding Text folding Compiler integration
Acme
external[20]

external[20]
Partial
[47]

external[20]
AkelPad
Plugin

Plugin

Plugin

Plugin

Plugin

Plugin

Plugin
Alphatk ? ?
Atom
Plugin
Aquamacs
BBEdit
Bluefish
[48]
Brackets
Plugin
Coda
ConTEXT ? ?
Crimson Editor Partial
[49]
CudaText
Plugin

Plugin

Plugin
E Text Editor ? ?
ed
external[50]
EditPlus
[51]
Partial
[49]

[52]
Editra ? ? ? ? ?
EmEditor
Plugin

Plugin

Plugin[53]
Geany
[54]
Partial
gedit
Plugin

Plugin

Plugin

Plugin[55]

[56]
GNU Emacs
JED
jEdit
Plugin

Plugin

Plugin
JOE ? ?
JOVE
Kate
Plugin

Plugin

Plugin
KEDIT
Macro
Komodo Edit
Komodo IDE
KWrite ? ?
LE
[57]
Light Table Partial
[58]
Metapad
mined
[59]
?
MS-DOS Editor
Nano
Syntax highlighting Function list Symbol database
(ctags or equiv.)
Bracket matching Auto indentation Auto completion Code folding Text folding Compiler integration
ne
NEdit
Plugin

Plugin
Notepad
Notepad++
[60]

[61][62]

[63]
Notepad2
NoteTab Partial
[64]
? ? ? ? ?
nvi ?
Peppermint
Pico
PolyEdit
PSPad
Plugin
Q10 ? ? ? ? ? ? ? ? ?
RJ TextEd
RText
Plugin
Sam
external[65]
SciTE
[66]
?
SlickEdit
Smultron ? ? ?
Source Insight
Limited
SubEthaEdit ? ?
Sublime Text
Plugin[67]
TED Notepad ? ?
TextEdit
TextMate
Plugin

[68]
TextPad
Plugin[69]
TextWrangler
Plugin[70]
The SemWare Editor
Plugin[71]

[72]
Partial
[73]
UltraEdit Partial
[74]
VEDIT
[75]
vi
Vim
Plugin[76]
Visual Studio Code
XEmacs ?
Syntax highlighting Function list Symbol database
(ctags or equiv.)
Bracket matching Auto indentation Auto completion Code folding Text folding Compiler integration

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

Text editor support for other programming features
Text shell integration Graphical shell integration Macro language Collaborative editing Large file support Long line support Multi-line regex support[77] Search in files
Acme
Extensible
? ? ?
AkelPad memory
Plugin
Alphatk
[78]
? ? ? ?
Aquamacs memory ? ?
Atom
[79]
?
Plugin[80]
25 MB[81] 100B
[82]

[83]
BBEdit
[84]
memory
[85]
?
Bluefish ? ? ? ?
Brackets
Extensible
? Partial
Coda
[86]
? ?
ConTEXT memory
[87]
? ?
Crimson Editor ? ?
CudaText
Plugin
? ?
Plugin
E Text Editor
[88]
? ?
ed
via mkfifo
? ? ?
EditPlus ? memory ?
Editra ? ? ? ?
2 GB
? ? ?
EmEditor ?
Geany ?
Plugin
? ? ?
gedit
[89]

Plugin
?
Plugin[90]
GNU Emacs memory[91]
JED memory
[92]

Plugins
jEdit (heap)[93] ?
JOE ? ?
[94]
JOVE memory ?
Kate
[95]
Maybe
[96]

Plugin
KEDIT 10Kb
Komodo Edit ? ?
[97]
? ?
Komodo IDE ? ?
[97]
? ?
KWrite
[95]

[98]
?
LE
[99]
memory
[100]
? ?
Light Table ? ?
Metapad memory
[101]
?
mined ? ? ? ? ? ? ?
EDIT (MS-DOS) (64~300 KB)
EDIT (DR-DOS) 2 GB, for as long as there is disk swap space for two temporary files
Nano ? ? ? ?
Text shell integration Graphical shell integration Macro language Collaborative editing Large file support Long line support Multi-line regex support Search in files
NEdit ? ?
Notepad memory ?
Notepad++
[102]

2GB[103]

[104]
Notepad2 memory
[105]
? ?
NoteTab ? ? ? ?
[106]
?
nvi ? ? ? ? ?
Peppermint
Pico ? ? ? ? ? ? ?
PolyEdit ? ?
PSPad memory
[107]
?
with plugin
Q10 ? ? ? ? ? ? ? ?
RJ TextEd ? ?
RText ? ?
Sam ? ?
external[65]
SciTE ? ? ?
SlickEdit
2 TB
Smultron ? ? ? ? ? ? ? ?
Source Insight ? ? ? ? ?
SubEthaEdit ? ? ?
TED Notepad ? ? ?
TextEdit ? ? ? ?
TextMate ? ?
TextPad memory
[108]
?
TextWrangler memory
[85]
? ?
The SemWare Editor Only in special DOS multi-user version
2 GB
?
UltraEdit
VEDIT
vi approx. 65 MB ?
Vim
with plugin[109]
memory
[110]
Visual Studio Code
with plugin[111]
? ?
XEmacs on 64-bit OS
[112]
?
Text shell integration Graphical shell integration Macro language Collaborative editing Large file support Long line support Multi-line regex support Search in files

Large file support:

= Larger than 4 GiB (LFS) 2 GB = Larger than 1 GB, not limited by memory
memory = Limited by available memory    (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.[113]

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
Acme
AkelPad ? ? ? ? ? ? ? ?
Alphatk ? ? ? ? ? ? ? ? ?
Aquamacs ? ? ? ? ?
BBEdit[114][115] ? ? ? ? ? ?
Bluefish ? ? ? ? ? ? ?
Brackets Partial
Plugin

Plugin
Coda ? ? ? ? ? ? ?
ConTEXT ? ? ? ? ? ? ? ? ?
Crimson Editor ? ? ? ? ? ? ? ? ?
CudaText ? ? ? ? ? ? ? ?
E Text Editor ? ? ? ? ? ? ? ? ?
ed
EditPlus ? ? ? ? ? ? ? ?
Editra
EmEditor ? ? ? ? ? ? ? ?
epsilon ? ? ? ? ? ?
Geany ? ? ? ? ? ? ? ?
gedit
[116]
? ? ? ? ? ? ? ?
GNU Emacs Partial
[117]

[118]

[119]

[119]
JED Partial
[120]
? ? ?
jEdit ? ? ? ? ? ?
JOE[121]
JOVE
[122]
LE ? ? ? ? ? ? ?
Light Table Partial ?
Plugin

Plugin
? ? ? ?
Kate
[123]
KEDIT
Komodo Edit ? ? ? ? ?
Komodo IDE ? ? ? ? ?
KWrite ? ? ? ? ? ? ? ?
Metapad ? ? ? ? ? ? ? ? ?
mg ? ? ? ? ? ? ? ?
mined ? ? ? ? ? ?
MS-DOS Editor
Nano Partial
[124]
NEdit ? ? ? ? ? ? ? ?
Notepad
Notepad++ Partial
Notepad2 ? ? ? ?
NoteTab ? ? ? ? ? ? ? ? ?
nvi ? ? ? ? ? ? ? ?
Peppermint
Pico Partial
[124]
PolyEdit ? ? ? ? ? ? ? ? ?
PSPad ? ? ? ? ? ? ? ?
Q10 ? ? ? ? ? ? ? ? ?
RJ TextEd ? ? ? ? ? ? ? ?
RText ? ? ? ? ? ? ? ?
Sam
SciTE Partial
[125]
? ? ? ? ?
SlickEdit
[126]

[127]
Partial
[128]
Smultron ? ? ? ? ? ? ? ? ?
Source Insight ? ? ? ?
SubEthaEdit
Sublime Text
TED Notepad ? ? ? ? ? ? ? ? ?
TextEdit
TextMate
TextPad ? ? ? ? ? ? ? ?
TextWrangler[114][129] ? ? ? ?
The SemWare Editor ? ? ? ? ? ? ? ?
UltraEdit ? ? ? ? ? ? ?
VEDIT
[130]
vi
Vim Partial
Plugin[131]

Plugin[132]

[133]

Plugin[134]

Plugin[135]

Plugin[136]
Visual Studio Code
Plugin[137]

Plugin[138]
XEmacs Partial
[117]

[118]

[119]

[119]
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>.[139][140]
  • 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
Acme
AkelPad
Alphatk
Aquamacs
[141]
BBEdit
Bluefish
Brackets
Plugin
Coda
ConTEXT
[142]
?
[142]
?
Crimson Editor
CudaText
E Text Editor
ed
EditPlus
Editra ? ? ? ?
EmEditor
Geany
gedit
GNU Emacs
JED
jEdit
plugin[143]

[144]

plugin[143]

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

Plugin
Notepad2
NoteTab
[145]
?
[145]
?
nvi
Peppermint
Pico
PolyEdit
PSPad
Q10 ? ? ? ?
RJ TextEd
FTP, SFTP
RText
Sam
SciTE
SlickEdit
Smultron ? ? ?
Source Insight
SubEthaEdit
Sublime text
Plugin[146]

Plugin[147]

Plugin[148]
TED Notepad
[149]
?
[149]
?
TextEdit
TextMate
[141]
TextPad
TextWrangler
FTP, SFTP[150]
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
[151]

[151]

[151]

[151]
Visual Studio Code
Plugin[152]

Plugin (limited?)[152]

Plugin[152]

Plugin[152]
XEmacs ?
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.

Text editor support for some of the most common character encodings
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16
Acme ? ? ? ?
AkelPad
Alphatk ? ? ?
Aquamacs ?
BBEdit
Bluefish
Brackets
Coda ?
ConTEXT Partial
[153]
Crimson Editor Partial
[153]
Partial
CudaText ?
E Text Editor ? ? ?
ed ? ? ?
EditPlus ? ?
Editra
EmEditor
Geany ?
gedit ? ?
GNU Emacs
[154]

[155]
JED ? Partial
[156]
jEdit
JOE ? ? ?
JOVE
LE ? ? ?
Kate ? ?
KEDIT Partial
[153]
Komodo Edit
Komodo IDE
KWrite ? ? ?
Metapad Partial
[153]
mined ?
MS-DOS Editor ? ? ? ?
Nano ? ?
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16
NEdit ? ? ?
Notepad Partial
[153]
Notepad++ plug‑in?
Notepad2
NoteTab ? Partial
[157]
Partial
[157]
nvi ? ? ?
[158]
Peppermint ?
Pico
PolyEdit ? ? ?
PSPad ?
Q10 ? ? ? ? ? ?
RJ TextEd
RText
[159]
Sam ? ? ?
SciTE[160]
SlickEdit
Smultron ? ? ?
Source Insight ? ? ?
SubEthaEdit
Sublime Text
TED Notepad ? ? ?
TextEdit ? ?
TextMate ? ?
TextPad ? ? ? Partial
[161]
Partial
[161]
TextWrangler
The SemWare Editor
[162]
Partial
[153]

Plugin
UltraEdit
VEDIT Partial
[163]
Partial
[163]
vi ? ? ?
Vim Partial
[164]
Visual Studio Code
[165]
XEmacs ? ?
[166]
ASCII ISO-8859 DOS (OEM) EBCDIC UTF-8 UTF-16

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)
Acme
AkelPad
Alphatk ? ?
Aquamacs ? ?
Atom
BBEdit
Bluefish
Brackets ? ?
Coda ? ?
ConTEXT ? ?
Crimson Editor ? ?
E Text Editor ? ?
ed ? ?
EditPlus
Editra ? ?
EmEditor
Geany ? ?
gedit
GNU Emacs
[167]
JED ? ?
jEdit
JOE ? ?
JOVE
LE ? ?
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite ? ?
Metapad ? ?
MS-DOS Editor ? ?
mined
[168]

[168]
Nano ? ?
RTL Bidi
NEdit ? ?
Notepad
Notepad++ Partial
[169]
Notepad2
NoteTab ? ?
nvi ? ?
Peppermint
Pico ? ?
PolyEdit ? ?
PSPad ? ?
Q10 ? ?
RJ TextEd
RText ? ?
Sam
SciTE
SlickEdit ? ?
Smultron ? ?
Source Insight
SubEthaEdit
Sublime Text
TED Notepad ? ?
TextEdit
TextMate
TextPad ? ?
TextWrangler
The SemWare Editor
UltraEdit
VEDIT ? ?
vi ? ?
Vim
through terminal support
Visual Studio Code
XEmacs ? ?
RTL Bidi

Newline support

Support for newline characters in line endings
Windows (CR/LF) Unix-like systems (including macOS)[170] (LF) Classic Mac OS (CR)
Acme
AkelPad
Alphatk
Aquamacs
Atom
BBEdit
Bluefish
Brackets
Coda
ConTEXT
Crimson Editor
CudaText
E Text Editor
ed
EditPlus
Editra
EmEditor
Geany
gedit
GNU Emacs[171]
JED
jEdit
JOE[172]
JOVE
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
LE
Metapad ?
MS-DOS Editor
mined
Nano
NEdit
Notepad
Notepad++
Notepad2
NoteTab
nvi ? ?
Peppermint
Pico
PolyEdit
PSPad
Q10
RJ TextEd
RText
Sam ? ? ?
SciTE
SlickEdit
Smultron
Source Insight
SubEthaEdit
Sublime Text
TED Notepad
TextEdit
TextMate
TextPad
TextWrangler
The SemWare Editor
UltraEdit
VEDIT
vi
Vim
Visual Studio Code
XEmacs
Windows (CR/LF) Unix-like systems (including macOS) (LF) Classic Mac OS (CR)

See also

Notes and references

  1. GEdit, when installed from MacPorts, runs in X11 and, therefore, does not have a native look and feel. However, precompiled native macOS binaries for GEdit may be downloaded from the GEdit project page, or from the GEdit FTP download server.
  2. Includes 1.34M S-Lang Runtime
  3. No native support, available as a part of the Inferno port for Windows.
  4. Requires Cygwin to run on Windows.
  5. "New Features in Epsilon 13". www.lugaru.com.
  6. gedit, NEdit, and SciTE run in the X11 window environment, and therefore do not use the native Aqua look-and-feel when running on macOS.
  7. "JOE - Joe's own editor". JOE - Joe's own editor / Mercurial / [2e4f45] /po. Retrieved 23 October 2015.
  8. "KDE Localization - Apps » stable » kate.po". l10n.kde.org.
  9. "Metapad language plugins". liquidninja.com.
  10. "Localised SciTE". scintilla.org.
  11. gedit supports single document window splitting via plugins. .
  12. gedit supports multiple document window splitting via plugins. .
  13. GNU Emacs can use a tabbed document interface in a non OS-native way, using the tabbar plugin.
  14. GNU Emacs can support a tabbed document interface modelled after GNU Screen using the elscreen package.
  15. JOE supports editing multiple files but only seeing one of them, and switching to others via Ctrl+K+N, which is functionally equivalent to having tabs but no visible tab bar.
  16. mined supports Copy/Paste between multiple documents in separate windows, when these documents are in separate terminal windows
  17. SciTE has a maximum number of buffers, which can only be set as high as 100.
  18. Vim Provided GVim is used.
  19. Vim version 7 supports a tabbed document interface. Earlier versions can emulate tabs through scripts, for example TabBar.
  20. Acme can invoke external commands and display their return values in order to integrate additional functionality.
  21. ConTEXT does not support regular expression backreferences in its search and replace function.
  22. ConTEXT only supports converting text to UTF-16. Also, it can only use one type of new-line format if converting to UTF-16.
  23. e supports spell checking via a bundle command available at the e Bundles repository.
  24. Geany supports spell checking via a plugin Archived 2008-09-24 at the Wayback Machine, but not for Windows at the moment.
  25. gedit supports spell checking via a plugin, which is distributed with gedit.
  26. gedit supports Regex-based find & replace via plugins ().
  27. "Gedit/Plugins/ColumnMode - GNOME Wiki!". Archived from the original on 20120111. Check date values in: |archivedate= (help)
  28. Emacs supports spell checking via the external programs ispell, aspell, or Hunspell.
  29. jEdit supports spell checking via an external plugin.
  30. JOE supports spell checking via the ispell or aspell external plugins.
  31. JOE uses a non-standard regular expression syntax.
  32. JOE can easily pipe text through the GNU recode(1) utility; it detects locale settings and allows editing in any encoding set up by the environment.
  33. LE can pipe text through the GNU recode(1) utility
  34. "GitHub - rschroll/lt-spelling: Spell check plugin for Light Table". April 29, 2015 via GitHub.
  35. Metapad spell checking by calling external program Aspell.
  36. "Super User's BSD Cross Reference: /OpenBSD/usr.bin/mg/re_search.c". bxr.su.
  37. mined supports multiple lines in search and replacement expressions.
  38. mined can convert the encoding format when using the Copy & Paste feature between multiple documents (that have different encodings).
  39. mined supports new-line conversion via a command-line option or from the menu. Files with mixed newline types can be edited transparently; different kinds of new-line have different visual indications.
  40. NEdit supports spell checking via a plugin
  41. Notepad++ 6.3.3 and above support spell checking via the DSpellCheck plugin, which is included with the default package.
  42. Scintilla-based editors such as SciTE, Notepad2 and Notepad++ do not support alternation (|) in regular expressions.
  43. SubEthaEdit supports advanced block editing, including multi-line typing and non-contiguous block selections.
  44. UltraEdit uses the Boost C++ regex library. While Boost supports backreferences past \9 with \g{10}, UltraEdit has not yet implemented this feature.
  45. VEDIT 6.2 comes with Scribe spelling checker which has been written entirely in Vedit macro language. In addition, macro package for integrating Aspell can be downloaded here.
  46. Vim version 7 supports spell checking natively. Earlier versions require a script shown here.
  47. Acme's auto-completion only works on file names.
  48. bluefish: Configurable via the outputbox feature.
  49. With external tool OpenCTags
  50. ed can invoke external commands, like a compiler.
  51. editplus: Opens in a window, not really integrated.
  52. editplus: Enabled by editing the corresponding .acp file.
  53. EmEditor Professional supports Auto Complete via plugins (32-bit or 64-bit).
  54. Geany uses its own tags file format, not compatible with ctags, see the manual.
  55. gedit-folding: Folding plugin for Gedit
  56. gedit: Compiler integration: Functionality in plugins installed with gedit.
  57. make can be launched from the LE text editor, but the output is not captured
  58. Evaluates expressions in some dynamic languages such as Clojure, Python and Javascript in realtime
  59. mined: Syntax highlighting: HTML/XML, Javascript, JSP.
  60. Notepad++ comes with Function List support, and it can be enhanced via plugins.
  61. "GitHub - ffes/npptags: Universal Ctags plug-in for Notepad++". March 7, 2019 via GitHub.
  62. "NotePad++ Plugin. Allows to connect to SQL Servers, execute SQL commands and views results: vladk1973/npp.connections". June 21, 2019 via GitHub.
  63. Notepad++ installs with auto complete list for multiple programming languages. Has user option to add additional personalized auto complete list(s).
  64. NoteTab: Syntax highlighting only for html documents and NoteTab clip/scripts.
  65. It is possible to start external applications from inside Sam and display their return values.
  66. Function list (and stuff) available in Ru-Board build, ver 1.79.66Ru and later
  67. Available from an add-on ()
  68. TextMate: Auto complete: Supported language bundles
  69. Textpad uses an add-on ()
  70. TextWrangler can integrate with a compiler if you write a shell script that takes flag input of the code and compiles it. You place this in ~/Library/Application Support/TextWrangler/Unix Support/Unix Filters/. It should show in the #! menu.
  71. "TSE-Pro Files". www.semware.com.
  72. The Semware Editor: Auto complete: Supported via supplied/user-created lists.
  73. The Semware Editor: Text folding: Compressed view possible.
  74. Not in the Linux version.
  75. Vedit: Auto complete: Template editing, plus 3rd party macro for expanding symbols from tags database.
  76. Vim has a popular TagList plugin that provides a function list.
  77. Multi-line regex support Support for expressions spanning several lines (e.g. "\n\n(.+)\n\n")
  78. Alpha Macro support via AppleScript, Tcl or text factories.
  79. "Feature Request: Integrated Shell/Terminal Access · Issue #14490 · atom/atom". GitHub.
  80. "atom-macros". Atom.
  81. "Large file support · Issue #307 · atom/atom". GitHub.
  82. atom supported more long lines but just afther create custom bulid
  83. "Multi-line find and replace in project · Issue #398 · atom/find-and-replace". GitHub.
  84. BBEdit Macro support via AppleScript, Perl, Python, Lasso, shell scripts or text factories.
  85. BBEdit and TextWrangler are technically capable of any size file, but limited practically by RAM and macOS limitation to files = 384mb. Cf. BBEdit FAQ Entry 36 Archived 2007-06-09 at the Wayback Machine.
  86. Coda offers macros via AppleScript, text "clips,"or plugins (Cocoa apps or any installed scripting language).
  87. ConTEXT claims Large File Support but load time is proportional to file size and a 1 GB file gave an Out of Memory error.
  88. e Macro support via Cygwin and languages like Ruby, Python, or Perl.
  89. Cssed Macro support via Python.
  90. "Gedit File Search Plugin". oliver.github.io.
  91. "Buffers". A buffer’s size cannot be larger than some maximum, which is defined by the largest buffer position representable by Emacs integers. This is because Emacs tracks buffer positions using that data type. For typical 64-bit machines, this maximum buffer size is 2^{61} - 2 bytes, or about 2 EiB. For typical 32-bit machines, the maximum is usually 2^{29} - 2 bytes, or about 512 MiB. Buffer sizes are also limited by the amount of memory in the system.
  92. "The JED Editor" (PDF).
  93. jEdit: Limited by Java heap size. jedit-users forum
  94. "JOE - Joe's Own Editor". JOE - Joe's own editor / Mercurial / [2e4f45] /docs/man.md. Retrieved 23 October 2015. The search covers all loaded buffers.
  95. kwrite-devel, Large Files open slowly due to futile Syntax-Highlighting
  96. Kate: Line length is limited by default. The limit can be removed, but long lines may cause poor performance. The Kate Handbook
  97. "Macros". docs.activestate.com.
  98. Lines longer than ~700 characters frequently cause crashes. KatePart documentation (which is also the KWrite documentation, see here)
  99. LE text editor locks the file and warns if someone else has changed the file
  100. LE text editor can view and edit large files or their parts in mmap-shared mode
  101. metapad FAQ, Loading Large Files
  102. "Notepad++ - How to Remotely work on the Same File in Real Time" via www.youtube.com.
  103. "Text limit". Community. January 16, 2019.
  104. "Configurable through settings".
  105. "Notepad2 - Frequently Asked Questions (FAQs)". www.flos-freeware.ch.
  106. NoteTab: Standard and Pro versions only.
  107. "PSPad forum / Bug report / Hlášení chyb / cannot open large file". forum.pspad.com.
  108. "Edit large mbox files - MozillaZine Knowledge Base". kb.mozillazine.org.
  109. "GitHub - FredKSchott/CoVim: Collaborative Editing for Vim". November 13, 2019 via GitHub.
  110. 2GB with 32 Bits, on a 64 Bit system it depends on the available virtual memory.
  111. "Live Share - Visual Studio Marketplace". marketplace.visualstudio.com.
  112. Emacs: 64-bit compilation on 64-bit OS can handle 2 GB files, otherwise the limit is 512 MiB.
  113. Comparison of Windows Text Editors for Large Files: Text editors for large files
  114. "Bare Bones Software | BBEdit Comparison Chart". www.barebones.com.
  115. "Bare Bones Software | Features". www.barebones.com.
  116. It is possible to customize all Gedit shortcuts because it is Gtk based.
  117. pico uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Archived 2012-09-05 at the Wayback Machine retrieved 20120109.
  118. GNU Emacs can have Wordstar emulation, with the command M-x wordstar-mode, as found from ws-mode.el retrieved 20170314. See also the "Emulation"section of the GNU Emacs manual Archived 2016-03-04 at the Wayback Machine.
  119. "Archived copy". Archived from the original on 20160304. Retrieved 20160722. Check date values in: |accessdate=, |archivedate= (help)CS1 maint: archived copy as title (link)
  120. The JED base release comes with a basic CUA emulation, but it doesn't bother to bind lots of useful editor features. Also, like some other editors, 1 side of a region must be at the cursor. The main extension collections jedmodes/jed-extra and the "Red Project" have improved versions, tackling the former problem in particular.
  121. "JOE - Joe's Own Editor". JOE - Joe's own editor / Mercurial / [2e4f45] /docs/man.md. Retrieved 23 October 2015. JOE also emulates several other editors. JSTAR is a close imitation of WordStar […]. JPICO is a close imitation of the Pine mailing system's PICO editor […]. JMACS is a GNU-EMACS imitation. […] Key binding tables are defined. You can define as many as you like […].
  122. "Usenet". www.megalextoria.com.
  123. Kate supports an optional VI Input Mode Archived 2009-02-28 at the Wayback Machine.
  124. pico (and nano) uses most of Emacs's motion and deletion commands: ^F ^B ^P ^N ^D etc. See Pico: A Unix text editor Archived 2012-09-05 at the Wayback Machine retrieved 20120109.
  125. In SciTE, custom keystrokes may be assigned to Lua scripts, external programs or lexers (highlighters).
  126. SlickEdit provides emulation of VisualStudio, Visual C++ 6, CodeWright, Epsilon and ISPF key bindings in addition to those given in the table.
  127. SlickEdit supports CodeWarrior, Xcode and BBEdit key binding emulation.
  128. SlickEdit includes support of vi key bindings, the ex command line and some, but not all Vim extensions.
  129. "Bare Bones Software | TextWrangler Features". www.barebones.com.
  130. Vedit: Old Unix and QNX versions could emulate Vi 100%. Windows version doesn't come with vi emulation.
  131. "GitHub - fabi1cazenave/cua-mode.vim: Make CTRL-ZXCV behave like in Notepad". February 26, 2019 via GitHub.
  132. "GitHub - likaci/ViFinder: Vim like Keybinding FileManager for OS X." October 13, 2019 via GitHub.
  133. Vim emulates vi keys fully when in 'compatible' mode
  134. Vim With a script such as Vimacs
  135. "GitHub - LnL7/vim-pico: Vim configuration files for Pico". September 2, 2014 via GitHub.
  136. "brief.vim - Brief editor key binding emulation in Vim : vim online". www.vim.org.
  137. "Vim - Visual Studio Marketplace". marketplace.visualstudio.com.
  138. "Emacs - Visual Studio Marketplace". marketplace.visualstudio.com.
  139. "Vim - General - unable to map ctrl-1". vim.1045645.n5.nabble.com. Retrieved 20171130. Check date values in: |access-date= (help)
  140. "Vim - General - How to map (say) Ctrl-Shift-B". vim.1045645.n5.nabble.com. Retrieved 20171130. Check date values in: |access-date= (help)
  141. Aquamacs Supported via a macOS mounted volume.
  142. Text Editor Features at ConTEXT.cx
  143. jEdit FTP and SFTP are supported via the FTP plugin.
  144. jEdit: "HTTP is supported natively"
  145. Comparison Chart at NoteTab.com
  146. "SFTP for Sublime Text - an FTP, FTPS and SFTP client | Products | Codex Non Sufficit". codexns.io.
  147. "GitHub - braindamageinc/SublimeHttpRequester: HTTP client plugin for Sublime Text 2 & 3". August 22, 2019 via GitHub.
  148. "GitHub - appconditioner/SublimeWebDavSync". July 11, 2017 via GitHub.
  149. "TED Notepad". jsimlo.sk.
  150. "Bare Bones Software | TextWrangler Tour". www.barebones.com.
  151. Vim Supported via netrw plugin distributed in the standard Vim installation.
  152. "Remote Workspace - Visual Studio Marketplace". marketplace.visualstudio.com.
  153. when choosing e.g. Terminal font
  154. GNU Emacs: While GNU Emacs supports the UTF-8 encoding, it doesn't fully support the Unicode standard, since it doesn't fully support the Unicode Bidirectional Algorithm (see comment in the 'Right-to-left and bidirectional text' section below).
  155. GNU Emacs: While GNU Emacs supports the UTF-16 encoding, it doesn't fully support the Unicode standard, since it doesn't fully support the Unicode Bidirectional Algorithm (see comment in the 'Right-to-left and bidirectional text' section below).
  156. JEDs ms-Windows version comes with a pair of scripts that can convert UTF-16 text files (actually anything iconv can convert) to and from JED's internal UTF-8. The Red Project releases include an enhanced version of these scripts.
  157. Although NoteTab is not a native Unicode editor, you can open, edit, convert, and save such files reliably as long as all the text fits within a single ANSI code page supported by Windows.
  158. nvi Gentoo
  159. RText supports EBCDIC n z/OS and anywhere with a JVM that supports it
  160. SciTE can open files in UTF or one single-byte encoding specified in a configuration file.
  161. TextPad can load and save UTF-8 and UTF-16 text files, but cannot use or even preserve characters outside of the system encoding.
  162. when choosing e.g. New Courier font
  163. Vedit can convert UTF-8 and UTF-16 files to Windows character set and back. Characters not included in Windows charset can be preserved.
  164. Vim supports EBCDIC when compiled on a system that uses the EBCDIC character set.
  165. "Support EBCDIC encodings · Issue #49891 · microsoft/vscode". GitHub.
  166. from version 21.5.29
  167. GNU Emacs

    (1) According to a comment in the source file where the bidi support is implemented (http://git.savannah.gnu.org/cgit/emacs.git/tree/src/bidi.c accessed August 15, 2017), GNU Emacs doesn't fully conform to the Unicode Bidirectional Algorithm (Unicode Annex #9, a.k.a. UAX #9) in the way it wraps the lines of a bidi paragraph: "we are violating paragraph 3.4 of UAX#9. which mandates that line breaking shall be done before reordering each screen line separately."

    (2) According to the online GNU Emacs manual (section 22.19 Bidirectional Editing, accessed August 15, 2017), for the purpose of changing paragraph direction, "Paragraph boundaries are empty lines, i.e., lines consisting entirely of whitespace character". This contrasts with the otherwise ubiquitous convention of regarding the newline marker (LF on Unix derivatives, including macOS, and CR+LF on Windows) as the paragraph separator in plain text documents. However starting with version 26.0.50, the bidi paragraph separator can be customized.
  168. mined: supports bidi in cooperation with bidi terminal (mlterm, mintty); also supports "poor man's bidi mode"(automatic visual text order right-to-left input) in normal terminal
  169. Notepadpp: Scintilla (Notepad++'s Engine) does not really support bidirectional editing. https://sourceforge.net/p/scintilla/bugs/757/#01c9
  170. "Did Mac OS Lion switch to using line feeds (LF '\n') for line breaks instead of carriage returns (CR '\r')?". Super User.
  171. GNU Emacs: GNU Emacs doesn't regard the newline marker as a paragraph separator in bidi texts. See comment in the 'Right-to-left and bidirectional text' section.
  172. "JOE - Joe's Own Editor". JOE - Joe's own editor / Mercurial / [2e4f45] /docs/man.md. Retrieved 23 October 2015. character sets must use LF (0x0A) or CR-LF (0x0D - 0x0A) as line terminators […]. […] character sets which use CR terminated lines (MACs) will not yet work.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.