I’d been considering eventually writing a post to extol the many virtues of this free, open source, cross-platform and feature packed programmer’s text editor, but when I saw that it was snubbed in the LH poll, I was sort of inspired to post something in defense of it.
What’s so great about jEdit anyway?
Rather than focus on technical features (such as native syntax highlighting for 130 languages) that you could easily read about on the official jEdit site or in the Wikipedia entry, I’m going to focus on practical reasons why jEdit is enjoyable to use, day to day.
It’s very customizable
jEdit is flexible, and extensible. You can easily modify the interface of the program to your liking by docking and floating panels for your favourite program functions and plugins, as well as customizing the main toolbar (or removing it altogether).
The built-in plugin manager (on the menubar, Plugins > Plugin manager) makes it easy to add new features to the program to customize your editor to your needs. Whether you prefer a simple text editor with auto-indentation and syntax highlighting, or a full-blown IDE with Subversion integration, sFTP and an IRC client built in, jEdit is a great choice.
Further on the topic of extending the capabilities of jEdit, you can also create macros which can control every aspect of the program (perform editing functions, change the interface, browse files, etc.). You can either do this the user-friendly way (Macros > Record Macro) or if you’re comfortable with the BeanShell scripting language, you can study the jEdit API and write your own. A macro can be assigned to any user-defined keyboard shortcut, and as a matter of fact, any feature of jEdit (and most plugins) can also be set to a custom shortcut. (Tip: when using the BufferTabs plugin, you may find it convenient to set up your keyboard shortcuts for buffer switching, closing, new tab , etc. to be the same as Firefox)
Once you’ve taken the time to get things exactly the way you like them in jEdit, you might wonder whether there is any way for you to export these settings, so that you can avoid this lengthy ordeal process in the future…
It’s cross-platform and portable
jEdit stores all settings, macros, plugins, configuration options, etc. in a settings directory located in
~/.jedit , where
~ is the user’s home directory (in my case it’s
C:\Documents and Settings\Perry). Exporting/backing up all of your work customizing the program is as easy as making a copy of that folder.
Since jEdit is written in Java, it will run anywhere that a JVM is installed (Windows, OSX, Linux). Specifically, jEdit 4.3 requires Sun’s JDK 1.5.0 or later.
So in practice, you could have a Mac with OSX and a pc running Ubuntu at home, and use Windows at work, yet keep them all synchronized with your lastest config just by occasionally overwriting the .jedit folder on the installations. Pretty smooth!
Of course, in the above scenario it might be less work to just run it from a USB key.