Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Comparison of text editors
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Programming features== {{sticky header}}{{sort under}} {| class="wikitable sticky-header sortable" style="max-width: 30em; table-layout: fixed" |+ Text editor support for programming features (see [[source code editor]]) |-valign=bottom ! ! [[Syntax highlighting]] ! Function list ! Symbol database <br />([[ctags]] or equiv.) ! [[Brace matching]] ! Auto indentation ! [[Autocomplete|Auto completion]] ! [[Code folding]] ! [[Text folding]] ! [[Compiler]] integration |- ! nowrap {{rh}} | [[Acme (text editor)|Acme]] | <!-- syntax -->{{na}} | <!-- function list -->{{ya}}<br />external{{efn|name=acmeext}} | <!-- symbol db -->{{ya}}<br />external{{efn|name=acmeext}} | <!-- bracket matching -->{{ya}} | <!-- auto indent -->{{ya}} | <!-- autocomplete -->{{Partial}}<br />{{efn|Acme's auto-completion only works on file names.}} | <!-- code folding -->{{na}} | <!-- text folding --> {{na}} | <!-- compiler integration -->{{ya}}<br />external{{efn|name=acmeext}} |- ! nowrap {{rh}} | AkelPad | <!-- syntax -->{{ya}}<br />Plug{{nbh}}in | <!-- function list -->{{ya}}<br />Plug{{nbh}}in | <!-- symbol db -->{{ya}}<br />Plug{{nbh}}in | <!-- bracket matching -->{{ya}}<br />Plug{{nbh}}in | <!-- auto indent -->{{ya}} | <!-- autocomplete -->{{ya}}<br />Plug{{nbh}}in | <!-- code folding -->{{ya}}<br />Plug{{nbh}}in | <!-- text folding --> {{na}} | <!-- compiler integration -->{{ya}}<br />Plug{{nbh}}in |- ! nowrap {{rh}} | [[Alphatk]] | {{ya}} | {{dunno}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[Atom (text editor)|Atom]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in |- ! nowrap {{rh}} | [[BBEdit]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | Bluefish | {{ya}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{ya}}<br />{{efn|name=bluefish-unstable3|''bluefish'': Configurable via the outputbox feature.}} |- ! nowrap {{rh}} | [[Brackets (text editor)|Brackets]] | {{ya}} | {{ya}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in |- ! nowrap {{rh}} | [[Coda (web development software)|Coda]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[ConTEXT]] | {{ya}} | {{dunno}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[Crimson Editor]] | {{ya}} | {{na}} | {{Partial}}<br />{{efn|name=openctags|With external tool [http://openctags.sourceforge.net/ OpenCTags]}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | CudaText | <!-- syntax -->{{ya}} | <!-- function list -->{{ya}} | <!-- symbol db -->{{ya}} | <!-- bracket matching -->{{ya}}<br />Plug{{nbh}}in | <!-- auto indent -->{{ya}} | <!-- autocomplete -->{{ya}}<br />Plug{{nbh}}in | <!-- code folding -->{{ya}} | <!-- text folding --> {{ya}} | <!-- compiler integration -->{{ya}}<br />Plug{{nbh}}in |- ! nowrap {{rh}} | [[ed (text editor)|ed]] | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{ya}}<br />external{{efn|name=edext|ed can invoke external commands, like a compiler.}} |- ! nowrap {{rh}} | [[Editra]] | {{ya}} | {{dunno}} | {{dunno}} | {{ya}} | {{ya}} | {{dunno}} | {{ya}} | {{dunno}} | {{dunno}} |- ! nowrap {{rh}} | [[EmEditor]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in{{efn|''EmEditor Professional'' supports Auto Complete via plug{{nbh}}ins ([http://www.emeditor.com/files/autocomplete700x86-zip/ 32-bit] or [http://www.emeditor.com/files/autocomplete700x64-zip/ 64-bit]).}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[Geany]] | {{ya}} | {{ya}} | {{ya}}<br />{{efn|name=geanytags|Geany uses its own tags file format, not compatible with ctags, see [http://www.geany.org/manual/current/#tags the manual].}} | {{ya}} | {{ya}} | {{ya}} | {{Partial}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[gedit]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{na}} | {{ya}}<br />Plug{{nbh}}in{{efn|name=gedit-folding|gedit-folding: Folding plug{{nbh}}in for Gedit}} | {{ya}}<br />{{efn|name=geditPlugin|''gedit'': Compiler integration: Functionality in plug{{nbh}}ins installed with gedit.}} |- ! nowrap {{rh}} | [[Emacs#GNU Emacs|GNU Emacs]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[JED (text editor)|JED]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[jEdit]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in |- ! nowrap {{rh}} | [[Joe's Own Editor|JOE]] | {{ya}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{dunno}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[JOVE]] | {{na}} | {{na}} | {{na}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[Kate (text editor)|Kate]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in |- ! nowrap {{rh}} | [[XEDIT|KEDIT]] | {{ya}} | {{na}} | {{ya}}<br />Macro | {{ya}} | {{ya}} | {{na}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[ActiveState Komodo#Komodo Edit|Komodo Edit]] | <!-- syntax -->{{ya}} | <!-- function list -->{{ya}} | <!-- symbol db -->{{na}} | <!-- bracket matching -->{{ya}} | <!-- auto indent -->{{ya}} | <!-- autocomplete -->{{ya}} | <!-- code folding -->{{ya}} | <!-- text folding --> {{ya}} | <!-- compiler integration -->{{na}} |- ! nowrap {{rh}} | [[Komodo IDE]] | <!-- syntax -->{{ya}} | <!-- function list -->{{ya}} | <!-- symbol db -->{{ya}} | <!-- bracket matching -->{{ya}} | <!-- auto indent -->{{ya}} | <!-- autocomplete -->{{ya}} | <!-- code folding -->{{ya}} | <!-- text folding --> {{ya}} | <!-- compiler integration -->{{ya}} |- ! nowrap {{rh}} | [[KWrite]] | {{ya}} | {{dunno}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{na}} |- ! nowrap {{rh}} | [[LE (text editor)|LE]] | {{ya}} | {{na}} | {{na}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{na}}<br />{{efn|''make'' can be launched from the LE text editor, but the output is not captured}} |- ! nowrap {{rh}} | [[Light Table (software)|Light Table]] | {{ya}} | {{na}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{Partial}}<br />{{efn|Evaluates expressions in some dynamic languages such as Clojure, Python and Javascript in realtime}} |- ! nowrap {{rh}} | [[Metapad]] | {{na}} | {{na}} | {{na}} | {{na}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[mined (text editor)|mined]] | {{ya}}<br />{{efn|''mined'': Syntax highlighting: HTML/XML, Javascript, JSP.}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[MS-DOS Editor]] | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[Nano (text editor)|Nano]] | {{ya}} | {{na}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} |- ! ! Syntax highlighting ! Function list ! Symbol database <br />(ctags or equiv.) ! Bracket matching ! Auto indentation ! Auto completion ! Code folding ! Text folding ! Compiler integration |- ! nowrap {{rh}} | [[ne (text editor)|ne]] | {{ya}} | {{na}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[NEdit]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[Microsoft Notepad|Notepad]] | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[Notepad++]] | {{ya}} | {{ya}}<br />{{efn|name=notepadPPFunctionList|Notepad++ comes with Function List support, and it can be enhanced via plugins.}} | {{ya}}<br /><ref name="notepadPPNppTags">{{Cite web|url=https://github.com/ffes/npptags|title=GitHub - ffes/npptags: Universal Ctags plug-in for Notepad++.|date=March 7, 2019|via=GitHub}}</ref><ref name="notepadPPNppConnections">{{Cite web|url=https://github.com/vladk1973/npp.connections|title=NotePad++ Plugin. Allows to connect to SQL Servers, execute SQL commands and views results: vladk1973/npp.connections|date=June 21, 2019|via=GitHub}}</ref> | {{ya}} | {{ya}} | {{ya}}<br />{{efn|name=notepadPPAutoComplete|Notepad++ installs with auto complete list for multiple programming languages. Has user option to add additional personalized auto complete list(s).}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[nvi]] | {{na}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[Pico (text editor)|Pico]] | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[PolyEdit]] | {{ya}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[PSPad]] | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[RJ TextEd]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[Sam (text editor)|Sam]] | <!-- syntax -->{{na}} | <!-- function list -->{{na}} | <!-- symbol db -->{{na}} | <!-- bracket matching -->{{na}} | <!-- auto indent -->{{na}} | <!-- autocomplete -->{{na}} | <!-- code folding -->{{na}} | <!-- text folding --> {{na}} | <!-- compiler integration -->{{ya}}<br />external{{efn|name=samext}} |- ! nowrap {{rh}} | [[SciTE]] | {{ya}} | {{na}}<br />{{efn|name=SciTE_function_list|''Function list (and stuff) available in Ru-Board build, ver 1.79.66Ru and later''}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[SlickEdit]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[Smultron]] | {{ya}} | {{na}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{dunno}} | {{dunno}} | {{dunno}} |- ! nowrap {{rh}} | [[SubEthaEdit]] | {{ya}} | {{dunno}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[TED Notepad]] | {{na}} | {{dunno}} | {{dunno}} | {{na}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[TextEdit]] | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} | {{na}} |- ! nowrap {{rh}} | [[TextMate]] | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}}<br />{{efn|name=textmateAutoComplete|''TextMate'': Auto complete: Supported language bundles}} | {{ya}} | {{ya}} | {{na}} |- ! nowrap {{rh}} | [[TextPad]] | {{ya}} | {{na}} | {{ya}}<br />Plug{{nbh}}in{{efn|name=TextpadCtagList|''Textpad'' uses an add-on ([http://www.textpad.com/add-ons/])}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[TextWrangler]] | {{ya}} | {{ya}} | {{na}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in{{efn|name=TextWranglerCompilerIntgn|''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.}} |- ! nowrap {{rh}} | [[The SemWare Editor]] | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in<ref name="TseCtagList">{{Cite web|url=http://www.semware.com/html/tseprofiles.php|title=TSE-Pro Files|website=www.semware.com}}</ref> | {{ya}} | {{ya}} | {{ya}}<br />{{efn|name=theSemwareEditorAutoComplete|''The Semware Editor'': Auto complete: Supported via supplied/user-created lists.}} | {{Partial}}<br />{{efn|name=theSemwareEditorTextFolding|''The Semware Editor'': Text folding: Compressed view possible.}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[UltraEdit]] | {{ya}} | {{ya}} | {{Partial}}<br />{{efn|Not in the Linux version.}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[VEDIT]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br /><{{efn|name=veditAutoComplete|''Vedit'': Auto complete: Template editing, plus 3rd party macro for expanding symbols from tags database.}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[Vi (text editor)|vi]] | {{na}} | {{na}} | {{ya}} | {{ya}} | {{na}} | {{na}} | {{na}} | {{na}} | {{ya}} |- ! nowrap {{rh}} | [[Vim (text editor)|Vim]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in<ref name="vimFunctionList">''Vim'' has a popular [http://vim-taglist.sourceforge.net TagList] plug{{nbh}}in that provides a function list.</ref> | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[Visual Studio Code]] | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[XEmacs]] | {{ya}} | {{dunno}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} | {{ya}} |- ! nowrap {{rh}} | [[NEdit|XNEdit]] | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{ya}} | {{ya}} | {{ya}} | {{ya}}<br />Plug{{nbh}}in | {{na}} | {{na}} | {{ya}} |-valign=top ! ! Syntax highlighting ! Function list ! Symbol database <br />(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 [[Indentation (typesetting)|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)