I’ve been using Unix-like operating systems for years and, much like programming languages, I’ve never been able to settle on one editor. Today I may have finally found the perfect one!
Joe is one of them recursive acronyms like GNU and stands for Joe’s Own Editor, so named for its creator, Joseph H. Allen. I had a crush on a girl in high school who’s last name was Allen, but I don’t think he’s any relation. It even has a page on The Wikipedias.
From the introduction to Joe’s well written and comprehensive manpage (you know, those things the GNU people used to write and the *BSD folks still do):
JOE is a powerful ASCII-text screen editor. It has a “mode-less” user interface which is similar to many user-friendly PC editors. Users of Micro-Pro’s WordStar or Borland’s “Turbo” languages will feel at home.
While I’ve got used to Vim, as I’ve mentioned numerous times on Twitter my favourite of all time is still the E Editor that IBM bundled with their later versions of PC DOS. The problem was, back in the day IBM had a spectacular falling out with Microsoft and couldn’t bundle QuickBASIC and it’s associated editor into their flavour of DOS any more, so they bundled the E Editor and REXX instead. I still run it in DOSBox even to this day. I know I know, I’m crazy!
While the shortcut keys are completely different, in perhaps a subjective way the E Editor and Joe "feel" very similar, right down to the prompt bar at the bottom of the screen where you enter file names. Because it’s modeless and many of its commands are issued with control keys it should also appeal to users of pico/nano and Emacs who have DOS nostalgia too.
It can also emulate a series of other editors by invoking it in different ways. My dad used to use and love WordStar back in the day, so he’ll be hearing about this!
JSTAR is a close imitation of WordStar with many “JOE” extensions. JPICO is a close imitation of the Pine mailing system’s PICO editor, but with many extensions and improvements. JMACS is a GNU-EMACS imitation. RJOE is a restricted version of JOE, which allows you to edit only the files specified on the command line.
It works right out of the philosophical box thing
Unlike Vim or pico/nano which I use with huge custom configuration dotfiles, I could tell Joe was written for someone like me because it works almost perfectly its default state. Technically I could copy over the master configuration file to my home folder and customise it to make the software work more the way I want to, but so far I haven’t felt the need to. That hasn’t happened in a long time outside the realm of Apple or Xfce wares.
It’s as if Joseph H. Allen sat down with me and asked what I wanted out of an editor and made it. It almost creeps me out. Get out of my head sir!
Aside from feeling like a CP/M or DOS editor ported to Unix with modern, common sense commands that gives me the warm fuzzies, Joe has a lot more going for it:
- The automatic syntax highlighting is gorgeous and turned on by default.
- The commands make sense and can be learned as you use the software with a help screen attached to the top of the console reminiscent of ee on FreeBSD.
- Error messages are written in plain, non-cryptic English.
- It supports double-space characters such as Hiragana which even the expensive TextMate doesn’t have.
- I get a childish, giddy kick out of calling my text editor "joe". Hey Joe, can you open this code file for me? ^_^
Grab it, use it, enjoy it!
I really, really encourage you to give it a try, I haven’t been this excited about an application in a long time. As I said, I gives me a warm fuzzy feeling :).