This page contains links to various text editors for programmers. The emphasis is on freely available editors for UNIX-like systems such as Linux, FreeBSD, etc. However, some of the editors listed may also be available for other operating systems such as Windows or the Mac OS. Although these days the Mac OS is just another flavor of UNIX.
The editors are described only briefly, but links to editor homepages and other useful sites are provided. Click on the heading for a particular editor to jump to that editor’s homepage.
All of the editors below are, as far as I know, available under some form of free license, such as the GNU General Public License. Consult the documentation of individual editors for details on their licensing.
Some of the programs below are more than just editors and are in fact full-fledged Integrated Development Environments with support for project management, building, debugging, class browsing, etc. In some cases I have indicated this, but in others I haven’t. Go figure!
Writing your own programmer’s editor seems to be a pretty common activity. While writing a new editor may seem to be an unnecessary duplication of effort, you really must program in order to become a good programmer. And since the editor is near and dear to any programmer’s heart, why not write your own? I must confess, though, I’ve never written one myself.
Acme-SAC
A version of the Acme editor that was originally written for the Inferno OS. The SAC stands for Stand Alone Complex, obviously.
Adie
Adie, or ADvanced Interactive Editor, is written using the FOX portable GUI toolkit. The authors stress that Adie is fast.
aee and ee
These are two tiny little editors. Awww, so cute!
Anjuta
Anjuta is a C/C++ development environment with a focus on the Gtk+/Gnome platform. It seems very featureful, and, at least according to the author, “above all, she is beautiful.” Indeed. The Anjuta motto is “The best is in you.” Thanks!
Beaver
Finally, finally there is a programmer’s editor called Beaver! You’ve probably already guessed that Beaver stands for an Early AdVanced EditoR.
Bluefish
Gnome editor.
CCE
This is the Cervantes Code Editor. Or it would have been, if it had ever gone beyond the “planning stages”. Now we’ll never know what might have been.
CE
Another tiny little editor.
cnikJEditor
An easy-to-pronounce Java-based editor.
CoolEdit
CoolEdit is a text editor for the X Window System. It provides syntax coloring, key redefinition, macros, and other features. CoolEdit can be extended via the Python scripting language.
CoolEdit does not require any additional libraries other than the standard Xlib.
Cream
A Vi-based editor.
CSSED
A focus on CSS editing, but includes programming language support.
Culebra
A Python IDE.
CUTE
The CUTE User-friendly Text Editor.
Dav
Dav is a text-mode editor. Dav stands for Dav Ain’t Vi.
e3
I believe this is a text-mode editor.
e93
e93 is an editor that can be extended with Tcl scripts. Apparently it was influenced by editors on the Macintosh and the NeXT systems.
Eclipse
The 800-pound gorilla of IDEs.
eddi
Eddi is a X-Windows editor written in Tcl and tix.
Edgar
An editor project that never really got off the ground. Maybe this is the reason:
This should be implemented using as much XML as possible…
No-so-famous last words!
EDI
EDI is a text-mode editor for C and Fortran.
Editra
I wish there were more text editors.
Edwin
Emacs but with MIT/GNU Scheme.
elvis
Yet another vi clone.
Emacs
Emacs is a text editor with a storied history. It can be extended using the Lisp language.
Emerald Editor
Inspired by the Crimson Editor, evidently
Eric
A Python and Ruby IDE.
Ersatz Emacs
A minimal Emacs replacement? Could there be such a thing?
Freddy
A programmer’s editor written using Qt.
FTE
This editor seems to have been ported to lots of operating systems.
geany
I think it’s pronounced like ‘genie’.
gedit
The standard Gnome text editor.
Glimmer
Glimmer claims to be the most advanced text/code editor for GNOME. While I can’t confirm or deny that, it does seem to have support for quite a large number of different languages.
Gobby
A collaborative text editor
GRASP
Grasp is a programmer’s editor that includes support for Control Structure Diagrams, or CSDs. These are claimed to improve the “comprehension efficiency” of software programs.
J
J is yet another programmer’s editor written in Java. The natural progression of the naming scheme for Java editors seems to have reached its ultimate conclusion, excepting the as-yet-undeveloped editor named “”. If you’re looking to write a Java-based programmer’s editor (and who isn’t, really?), you’d better reserve the name quickly!
Jade
Since it starts with J, you might think this is a Java-based editor. Nope, it’s an Emacs-like editor for X11.
JE
Another Java editor, but this time its name starts with J.
JED
The JED editor is a command-line and X-windows editor with an extensible macro language based on the S-Lang library.
jEdit
jEdit is a text editor written in Java with several programming features such as syntax coloring, automatic indentation, and abbreviations. To run jEdit you will need some form of Java Virtual Machine such as the one available in the Java Development Kit (JDK). You can obtain the JDK for Linux from the Java-Linux page.
jeHEP
A java editor with on-the-fly spell checking.
jered
A C/C++ editor.
Jext
Jext (as in rhymes-with-text?) is another programmer’s editor written in Java.
joe
A little editor with the friendly name of joe.
jove
Another Emacs-like editor.
Kate
The KDE Advanced Text Editor.
katoob
Katoob. Katoob! Katoob is a Gnome editor with an Arabic interface (in addition to English).
Katy
An editor for KDE. Perhaps Kate’s little sister?
KDevelop
KDevelop is a C/C++ IDE that runs under the KDE environment.
KWrite
The official KDE editor.
Komodo Edit
An editor for dynamic languages from the folks at ActiveState.
le
A text-mode editor with lots of block operations, apparently.
led
A fullscreen text-mode editor.
LEM
An editor for Common Lisp.
Leo
Literate programming.
medit
The URL seems to imply a somewhat different name.
MicroEmacs
A wee little Emacs?
mined
Mined is a text editor that runs on both DOS and UNIX.
ML
An editor for Tcl programs.
Moleskine
Moleskine is a text editor for Gnome. It is based on the scintilla source editing component for Win32 and gtk+. Moleskin’s motto seems to be “Enjoy the Freedom of Writing.” I’ve always thought that mottos for software are a marketing tool, but this is the second free text editor with its own motto. I guess there are so many editors out there they have to advertise themselves well.
Motor
Motor is a text-mode IDE.
mp
mp is a portable programmer’s editor that runs under Unix and Windows in both text-mode and GUI modes. mp stands for Minimum Profit. Yes it does.
mpEDIT
Another editor starting with “mp”. This one is Java-based, though.
nano
Nano is a free-software replacement for the pico text editor.
ne
ne is the Nice Editor. It claims to be easy for the beginner and powerful for the wizard.
NEdit
NEdit is an X-Windows based editor that has been around a while.
NetBeans
A Java IDE.
Ninja-IDE
Ninjas! In my IDEs! Seems to be Python-centric. Nothing wrong with that.
Peppy
Peppy is (ap)Proximated (x)Emacs Powered by Python. In other words, an XEmacs-inspired editor but with Python as the language. Neato.
PFE
The Portable Forth Environment.
PIDA
This seems to be a sort of Python meta-IDE which can embed other, third-party tools, including other IDEs.
Portable Hemlock
An Emacs-like editor written in Lisp.
PyPE
Python Programmer’s editor. Hierarchical browsing and syntax highlighting, among other things.
Pyscripter
A Python IDE written in Delphi?
PythonCardEditor
A wxPython editor.
Quanta Plus
A KDE IDE.
rope
A python refactoring IDE and library.
Sam
sam is a text editor written by Rob Pike of The Practice of Programming fame.
SciTE
Another editor based on Scintilla.
Scribes
“Simple, slim and sleek, yet powerful”. At least according to the website!
SETEDIT
SETEDIT is a programmer’s editor with a text-mode interface like the old Wordstar or Borland editors.
SPE
Stani’s Python Editor. Lots of features including, intriguingly, support for Blender.
spyder
Spyder is QT-based Python IDE. Looks intriguing!
ssex
A Qt programmer’s editor whose first feature is “Heavy C/C++ syntax highlighting”.
Stef
It’s the Structured Text Editor Framework. And I think it’s time software developers gave up on acronym names for their creations.
Syn
This isn’t the SynEdit editor, it’s another editor.
SynEdit
An editor for Borland’s Delphi language.
TEA
A GTK2-based text editor. It seems to have a companion editor named Chai.
Text Trix
Not so easy to say. Looks like Java editors are having to really reach to come up with new names.
THE
A text editor that uses the REXX macro language.
TK Scribe
Another Tcl editor.
UliPad
These folks are on the way to make “THE programmer editor”.
uSk and u
These two editors are twee editors. According to the website:
A ‘twee’ editor is one that is only a few multiples of the minimum size for a functional editor, without compression.
The author seems to have a bit of an obsession about making editors as small as possible. In addition to uSk and u, there are several other twee editors in a table that includes their size in bytes!
V
V is an IDE that supports C++ and Java.
Vi
If you learn only one editor on Unix, you should learn Vi. The other editors listed on this page may or may not be installed on a given Unix system, but Vi will be there. Vi does not require X Windows to run – all you need is a text terminal.
You can also get online help from Vi. Type :help while you are in command mode to read Vi’s online manual. If you don’t know whether you’re in command mode or not, press ESC before typing the help command.
Vi has many features for programmers including syntax coloring, auto-indentation, shell command invocation, debugging support, and more. If you use Vi for programming, you should definitely take the time to learn some of Vi’s more advanced features.
Vile
Vile is a vi-like editor.
Wily
A curious little mouse-oriented editor. It’s a work-alike for the acme editor in the Plan 9 system.
wxKonTEXT
All the code is in one Python file.
XCoral
Xcoral is a multi-window mouse-based text editor for Unix and the X Window System. Xcoral provides standard features such as macros, undo, search, regions, multi-buffer, modes, color syntax, etc.
A built-in browser enables navigation through C functions, C++ and Java classes, methods, files, and attributes. This browser is very fast and self-updates automatically after file modifications. An ANSI C Interpreter (Smac) allows the user to extend the editor’s facilities with user functions, key bindings, modes, etc.
Xcoral works on the following systems: SunOS 4.1.x, Solaris 2.x, Linux, FreeBSD, NetBSD, HPux, Irix and Digital Unix.
XEmacs
A fork of Emacs.
xRope
xRope is to rope what xEmacs is to Emacs. Yep.
Yi
The Yi text editor is written in, and extensible with, the Haskell language.
ZED
Hey, what do you know, another text editor!
Zile
Another Emacs clone. This one claims to be small and lightweight.
Zoinks
A development environment inspired by some of the popular proprietary IDEs out there.
14 replies on “Programmer’s Editors”
how could you miss vim ?
Well if you click on the ‘Vi’ link it actually goes to vim… 🙂
These days I guess I just consider vim == vi. Who uses non-vim vi
anymore?
you missed komodo edit…
Added!
And thanks Mr. President!
Thanks for adding Emacs…
But you should mentioned that Emacs is as historic as Linux 😀
Fair enough! I added a link to the wikipedia history page for it.
you definitely should mention Sublime text http://www.sublimetext.com/
good list anyway..
I keep thinking about trying it, Sublime looks pretty awesome. This particular
list I am maintaining is just open source editors, though.
Vat abooooot Pyscripter? ayy? Eez wery nyycee eeeediotor!
Added! Is that Delphi?
Hi Dave! Instead of reviewing a book, try reviewing the Leo editor, if only for the beautiful logo… The tutorials claim to take about two hours.
You’ll probably get the hang of it in a week. Python, MIT, the works.
Interesting, thanks for the link!
there’s lem