Update: I made a couple additions and now the review includes no fewer than 16 text editors.
Kate is the default text editor in KDE, and also one of the most powerful and feature-rich text editors available for Linux. It can also be used successfully as an IDE (integrated development environment) and supports, among many others, spell-checking, highlighting for a huge amount of programming languages, it has an integrated terminal (which inherits Konsole's settings), encoding support. It supports sessions, plugins, encodings, bookmarks and even the possibility to split the current document horizontally or vertically. Kate is the complete text editor for any KDE user. A couple of months ago I wrote a full Kate review which you can read here.
Geany is a text editor with basic IDE capabilities which provides a good alternative to Gedit, the GNOME editor. It supports highlighting for various scripting and programming languages, indentation, and it provides enough options to configure it the way you want. I liked that Geany is well documented (via the Help menu).
This is the well-known text editor included by default in the GNOME desktop environment. In the spirit of all default GNOME applications, Gedit comes with a clean interface, basic configuration options available in the Edit -> Preferences menu and, the most important one, support for plugins. Plugins really make Gedit powerful and extend its functionality up to an programming environment. Some of the default plugins included are indentation support, spell-checker, document statistics and the sorting function.
To put it simple, KWrite is practically Kate with less features and a lighter interface. To be honest, I never found KWrite a viable alternative as a text editor since there is Kate. However it comes with features like highlighting, spell-checking and encoding support. The scope of KWrite is probably to be only a light text editor, not a powerful one like Kate, and to load faster. Of course, on newer machines the loading difference between Kate and KWrite is insignificant. Nevertheless, KWrite can be useful for those users who simply want a minimal text editor.
Together with Vim, Emacs is definitely one of the most popular and well-known IDEs out there. Emacs is a lot of things, not only an IDE (like email or IRC client, file browser etc), and can be expanded even further with the help of Lisp scripts. This project was started and maintained by Richard Stallman back in the 80s, and it became one of the most powerful and respected editors in the Linux world. Emacs provides modules for many programming, scripting and markup languages, and it also has specific keyboard shortcuts which, once one gets used to them, will make working in it productive and fast.
Vim stands for Vi IMproved, a popular and powerful text editor available since the 70s on the UNIX platform. There are continuous debates over which one is better, Emacs and Vim, because they both have a huge number of fans and users. Vim is renowned for the fact that is not beginner-friendly, especially due to its way of handling navigation in a document, inserting text and accepting commands. Vim provides highlighting and indentation support, it is highly configurable, flexible and has plug-ins support.
Most distributions also provide the packages vim-gtk and vim-gnome, which are GUI (graphical user interface) interfaces to Vim. To run Vim with a graphical interface you can use the vim -g or gvim commands.
Nano is the popular, lightweight and user-friendly text editor for Linux which, if configured correctly, provides features like highlighting or indentation. Nano is a Pico clone, an older text editor for Linux.
Also called 'the multi-purpose X Window System editor', NEdit is written using the Motif toolkit and it is a powerful IDE and text editor, providing features like indentation and highlighting for various languages, a Shell menu for fast access to usual commands like sort or wc, tabs. Although it may not integrate very well in environments like KDE or GNOME (due to its Motif-based interface), NEdit may be just the right alternative for those who are unhappy with editors like Kate, Gedit or Emacs.
Scribes is a simple text editor for GNOME with a simple and minimal interface, which provides syntax highlighting and detection and auto-completion of pair brackets in languages like C/C++, and it also provides various shortcuts for operating on a file. It is as simple and lightweight as a text editor with minimum programming features can get.
Yet another text editor with a pretty icon theme and the usual functions for basic programming, SciTE also supports scripting in Lua. The default font is not a monospaced one, so you will have to use the Options -> Use Monospaced Font menu option.
Medit is a simple text editor which offers basic features for programming in it, including syntax highlighting, tabs, and plugins. Medit is a basic alternative to more consacrated text editors.
Or 'the programmer's text editor', as its description says, jEdit is an IDE written in Java with a good-looking interface and a whole bunch of plugins and macros available. Among its features are auto-indentation, highlighting in a lot of programming languages, various character encodings and bracket matching.
This is a minimal text editor written in GTK+ 1.2 which resembles Notepad from Windows, so it will fit well users who just switched and are used to Notepad. However, it misses the printing facility. You will have to change the default font if you want a monospace type.
Leafpad is yet another text editor built in GTK which resembles Notepad, just like Gtkedit. The advantage Leafpad has over Gtkedit is that it allows printing.
JOE (Joe's Own Editor) is a powerful, terminal-based editor which uses the Emacs-like keyboard shortcuts. It has many features, like syntax highlighting, mouse support, multiple buffers, spell-checking, auto-indentation and much more.
Addition: Komodo Edit
Komodo Edit is a powerful text editor based on the commercial application Komodo IDE, and it provides, among many other features, support for projects, highlighting, auto-indentation and auto-completion of brackets, Emacs key bindings. It has an interface designed professionally and it's highly configurable. The only minus I could catch was that it has very slow loading times, but other than that, it's a very good editor.
I know I didn't include all of them, but this article should give the reader an overview of the available text editors for Linux. There are tens of other editors and clones for both CLI and GUI, including the mammoth, complete IDEs like KDevelop, Code::Blocks, Netbeans etc. but these don't belong to this list since they are not 'text editors', they are way more.
Updated: April 2, 2009