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.
A version of the Acme editor that was originally written for the Inferno OS. The SAC stands for Stand Alone Complex, obviously.
Adie, or ADvanced Interactive Editor, is written using the FOX portable GUI toolkit. The authors stress that Adie is fast.
These are two tiny little editors. Awww, so cute!
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!
Finally, finally there is a programmer’s editor called Beaver! You’ve probably already guessed that Beaver stands for an Early AdVanced EditoR.
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.
Another tiny little editor.
An easy-to-pronounce Java-based editor.
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.
A Vi-based editor.
A focus on CSS editing, but includes programming language support.
A Python IDE.
The CUTE User-friendly Text Editor.
Dav is a text-mode editor. Dav stands for Dav Ain’t Vi.
I believe this is a text-mode editor.
e93 is an editor that can be extended with Tcl scripts. Apparently it was influenced by editors on the Macintosh and the NeXT systems.
The 800-pound gorilla of IDEs.
Eddi is a X-Windows editor written in Tcl and tix.
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 is a text-mode editor for C and Fortran.
I wish there were more text editors.
Yet another vi clone.
Inspired by the Crimson Editor, evidently
A Python and Ruby IDE.
A minimal Emacs replacement? Could there be such a thing?
A programmer’s editor written using Qt.
This editor seems to have been ported to lots of operating systems.
I think it’s pronounced like ‘genie’.
The standard Gnome text editor.
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.
A collaborative text editor
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 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!
Since it starts with J, you might think this is a Java-based editor. Nope, it’s an Emacs-like editor for X11.
Another Java editor, but this time its name starts with J.
The JED editor is a command-line and X-windows editor with an extensible macro language based on the S-Lang library.
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.
A java editor with on-the-fly spell checking.
A C/C++ editor.
Jext (as in rhymes-with-text?) is another programmer’s editor written in Java.
A little editor with the friendly name of joe.
Another Emacs-like editor.
The KDE Advanced Text Editor.
Katoob. Katoob! Katoob is a Gnome editor with an Arabic interface (in addition to English).
An editor for KDE. Perhaps Kate’s little sister?
KDevelop is a C/C++ IDE that runs under the KDE environment.
The official KDE editor.
An editor for dynamic languages from the folks at ActiveState.
A text-mode editor with lots of block operations, apparently.
A fullscreen text-mode editor.
The URL seems to imply a somewhat different name.
A wee little Emacs?
Mined is a text editor that runs on both DOS and UNIX.
An editor for Tcl programs.
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 is a text-mode IDE.
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.
Another editor starting with “mp”. This one is Java-based, though.
Nano is a free-software replacement for the pico text editor.
ne is the Nice Editor. It claims to be easy for the beginner and powerful for the wizard.
NEdit is an X-Windows based editor that has been around a while.
A Java IDE.
Ninjas! In my IDEs! Seems to be Python-centric. Nothing wrong with that.
Peppy is (ap)Proximated (x)Emacs Powered by Python. In other words, an XEmacs-inspired editor but with Python as the language. Neato.
The Portable Forth Environment.
This seems to be a sort of Python meta-IDE which can embed other, third-party tools, including other IDEs.
An Emacs-like editor written in Lisp.
Python Programmer’s editor. Hierarchical browsing and syntax highlighting, among other things.
A Python IDE written in Delphi?
A wxPython editor.
A KDE IDE.
A python refactoring IDE and library.
sam is a text editor written by Rob Pike of The Practice of Programming fame.
Another editor based on Scintilla.
“Simple, slim and sleek, yet powerful”. At least according to the website!
SETEDIT is a programmer’s editor with a text-mode interface like the old Wordstar or Borland editors.
Stani’s Python Editor. Lots of features including, intriguingly, support for Blender.
Spyder is QT-based Python IDE. Looks intriguing!
A Qt programmer’s editor whose first feature is “Heavy C/C++ syntax highlighting”.
It’s the Structured Text Editor Framework. And I think it’s time software developers gave up on acronym names for their creations.
This isn’t the SynEdit editor, it’s another editor.
An editor for Borland’s Delphi language.
A GTK2-based text editor. It seems to have a companion editor named Chai.
Not so easy to say. Looks like Java editors are having to really reach to come up with new names.
A text editor that uses the REXX macro language.
Another Tcl editor.
These folks are on the way to make “THE programmer editor”.
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 is an IDE that supports C++ and Java.
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 is a vi-like editor.
A curious little mouse-oriented editor. It’s a work-alike for the acme editor in the Plan 9 system.
All the code is in one Python file.
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.
A fork of Emacs.
xRope is to rope what xEmacs is to Emacs. Yep.
The Yi text editor is written in, and extensible with, the Haskell language.
Hey, what do you know, another text editor!
Another Emacs clone. This one claims to be small and lightweight.
A development environment inspired by some of the popular proprietary IDEs out there.