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 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.
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 focus on CSS editing, but includes programming language support.
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.
Emacs
is a text editor which can be extended using the Lisp language. Inspired by the Crimson Editor, evidently
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.
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.
A text-mode editor with lots of block operations, apparently.
A fullscreen text-mode editor.
The URL seems to imply a somewhat different name.
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.
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 highliting, among other things.
A python refactoring IDE and library.
"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. 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.
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.
For a quick primer on Vi, download the text file vi.txt and then open it with Vi by
typing the following command at a shell prompt:
vi vi.txt
Read through the file, following the instructions as you go.
When you get to the end, you'll have a basic working knowledge
of Vi!
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.
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.