Programmer’s Editors

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”

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?

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.

Leave a Reply to prezidentCancel reply