jEdit is a Java based text editor, released under the GNU GPL. It is designed to be a programmer’s editor. Some of the features I enjoy the most include:
Multiple editor buffers of the same file
This is very useful when you are editing a large file and need references from other parts of the same file, or need to keep other file buffers available.
Java regular expression search and replace
jEdit supports the use of Java regular expression in its search and replace function, including the use of groups and capturing.
Advanced search and replace
Search and replace can be done on selection, current buffer, all opened buffers and directory. Directory-wide searching includes a extension filter and the option to recursively include any subdirectories.
Plug-in
jEdit is a solid editor by itself, but it can be extended to be specialized editor for html, xml or even a full fledged IDE with the many available plug-in.
I have been using jEdit for years and it has served me well. At the current project, I keep 40 to 50 files open, many of them are over 6000 lines of xml, and jEdit still runs smoothly without any problems (with a little help of bumping the heap size).