High geek content ahead. You have been warned.
Back during my freshman year at NCSU, I was told by a fellow student that, if I wanted to learn a text editor on UNIX, I’d better learn vi, because of its pervasiveness1. I took his advice, stopped using ted2 and learned how to get along with vi. Throughout my college career, I’d try (and eventually give up on) emacs (too complex), pico (not powerful enough), and other UNIX-based text editors that came along and presented themselves at my feet.
About five years ago, I discovered jEdit, which, for the most part, was powerful, extendable, and very user-friendly. Its only downside was that it was kind of pokey and required the JRE (which, if you are developing Java, you already had the JDK, so that wasn’t a big deal). Plus, at that time, I was doing a lot of work with Java on Windows, so, I didn’t bother with vi too much except when I went a Solaris server and edited a config file or two.
Now, as a Linux user at work, I’ve used vim on and off, as it is the default vi clone installed on Red Hat Linux. I never really considered it a contender to replace jEdit, even though some people spoke highly of its abilities (it had syntax highlighting, indenting, etc.). My problem is that, until recently, I was too lazy and/or incurious to figure how to turn all that stuff on and make use of it.
A few months ago, annoyed at the awful vim color scheme3 that the guys at Red Hat use as a default for RH 9.0, I decided to go searching for a better color scheme4. This would lead to me tentatively exploring what could be done with vim settings via .vimrc. But, for the most part, I kept on using jEdit.
This week, I had my A-HA! moment. Perhaps it was because I started using vim on my iBook (it comes with Mac OS X, of course) for writing the project plan of my nacent weblogging software5 written using Rails. I bitched to myself about the apparent lack of word wrapping while writing text files. After doing a bit of Googling, I found out how to turn on word wrapping.
Then I fell down the rabbit hole, found a bunch of other features I thought were lacking, and enabled them. Finally, it dawned on me that all the text editor I ever needed is vim. It’s small, fast, can be customized to my heart’s content and runs in a terminal window.
So, goodbye, jEdit. You’ve been really good to me. I wish you well in your future endeavors.
1 Technically, he should have recommended ed. But, as we all know, real programmers don’t use a text editor, they just use
cat > myprog.c
and never make mistakes.
2 ted was the execreble text editor that the NCSU College of Engineering taught incoming students to use while writing lab assignments on the ancient DECstation 2100s. It was a bloated, memory-leaking piece of crap that required MWM in order to run. May it dump a thousand core.
fn3. Don’t get me started on the atrocious default colors that are used for ls.
4 I found one I liked called less.vim.
5 Yes, another goddamn weblog application. It’s the new “Hello, world!” for web apps, I tell ya.