Farewell, sweet XEmacs
Posted by Scott Laird Sat, 10 Sep 2005 03:47:48 GMT
I can’t believe I’ve finally done it. I’ve quit using Emacs.
Over the past month, I’ve switched to using TextMate as my day-to-day programming editor. Since I live in my editor 4-12 hours per day, this is a huge change for me. I’ve been using one form of Emacs or another since late 1990 or early 1991; that’s a huge amount of inertia to overcome. It’s been a lot easier then I expected, and I’m starting to really enjoy a lot of TextMate’s features.
Here are a few of the advantages that I’ve seen with TextMate. Some of these are quirks of my setup, but others are fundamental things that TextMate gets right that Emacs couldn’t do without a 6-month flamewar and a couple forks:
TextMate’s Rails support is better then XEmacs’s. XEmacs’s Ruby mode has a few quirks that frequently broke indenting, and it completely failed to understand
.rhtmlfiles. I’m sure that I could have fixed this, but after 14 years of using Emacs, I still hadn’t bothered to learn more then a few bits of elisp. Frankly, I really only used 1-2% of what Emacs could do, partially because most of the rest of it was such a pain to learn about.For some reason, cut-and-paste between X11 and native Mac apps broke during my Tiger upgrade, and I was never able to get it fixed. It wasn’t usually a big deal for me when I was working on code for Network Clarity because I rarely ended up pasting things into Emacs, but it was a huge pain when I was working on Typo.
TextMate is actually better at handling tons of open files then XEmacs is. This surprised me, but the interface for switching files from the keyboard is way better in TextMate. Just press Command-T and start typing pieces of the filename. TextMate starts searching for filenames that match the name you typed using the same algorithm that QuickSilver uses. So, if you want to find
articles_controller_test, TextMate will let you type something short likeartcontestwhile narrowing the field of files down with each extra character that you press. XEmacs expects you to type the filename starting at the beginning, using tab for completion. So finding the same file with most of Typo’s source open would be something likear<tab>s_c<tab>_t<tab>, which is more of a pain. Plus, when you have multiple files with the same name, Command-T will let you use the arrow keys to scroll through them, seeing the full path for each. XEmacs seems to prefer that you remember which of the half-dozencontent.rhtmlfiles in Typo iscontent.rhtml<4>. Finally, when you’re in project mode, Command-T will actually search through all files in the project directory, not just open files. So Command-Tartrbwill show youarticles.rb. That’s much nicer theC-x C-f ../../../app/models/ar<tab>that Emacs needed. I’m sure that there’s some way to make XEmacs friendlier on this front, but that really means very little–there are ways to make Emacs solve Towers of Hanoi problems, read your mail, act as a web browser, play inline movies, and quote Zippy the Pinhead quotes to Eliza, too. Just because it can do it doesn’t mean that I’m willing to spend two hours figuring it out for each and every feature that I’m interested in.TextMate is better at pasting text. It automatically re-indents the pasted text, so you don’t have to go line-by-line fixing the indentation.
TextMate supports most of the basic Emacs editing keystokes –
C-f,C-b,C-n,C-p,C-d,C-k,C-y, andC-sall work like I’d expect (althoughC-ywas missing for a while), so I haven’t really had to reprogram my fingers.Finally, it’s a native Mac app, so it works like all of the rest of the apps on my system. While it’s nice that you can run X11 apps in OS X, there are a number of quirky things that they do that makes them feel weird after three years on the Mac. They don’t hide right, they don’t act right when you change the focus, and they just generally look weird.
So I bought it. TextMate is €39, which is kind of a shock when you’re used to free editors, but it’s not a bad value at all. It’s dirt cheap compared to BBEdit, which I’ve tried a few times and never really understood why anyone would pay almost $200 for it. All in all, I’m really happy with TextMate, and I feel like I’m substantially more productive when working on Rails apps with it because I don’t have to keep working around Emacs foibles. So far, it Just Works.

Me too!
Not so coincidentally my subscription to this blog, my growing love for Rails and Ruby (including RubyCocoa), my switch to typo for my own blog http://informage.net and my switch to TextMate from XEMacs have all occurred over the same recent time frame. In fact I bought my TextMate license just last week. I too have a history with Emacs going back to the late 80s, although I’ve consorted with a few other editors along the way (DevStudio when I was doing Win32/C++, Eclipse for some Java stuff, then back to Emacs for PHP and Python). One thing I always missed after leaving Windows and DevStudio was a handy ‘incremental open’ plug-in. TextMate’s command-T is the first perfect reproduction of this functionality I’ve found and was enough alone to sell it to me, quite aside from the supremely sensible way that auto-closing brackets, snippets and commands. This is an editor written by someone who likes what I like, just like Rails to web frameworks - I was one of the Apache Turbine authors and was trying to do a lot of the same stuff, albeit far more clumsily.
So, glad to meet a fellow traveller…
If you pull the bleeding-edge bundles from the TextMate SVN repo they have a bundle for using SVK. Haven’t used them yet myself, I’d be curious how well they worked out.
Yeah, I was never really happy with Emacs on Mac OS X, but now that I’m on Ubuntu, it’s much happier. Also tabbar.el solves all the “too confusing when you have many files open” problems.
But if you’ve already spent the money, why am I telling you this?…
And you’re right, rhtml is a pain. I’ve never found out how to fix that.
I agree on BBEdit. I’ve used a few times the last couple of years and really tried to like it, but I could never really understand what about it was worth $200. Maybe back in the of Classic Mac OS, before the wealth of free software we experience now on the Mac, it would have been worth it to web developers, but not anymore. The only thing TextWrangler or BBEdit has over TextMate is code parsing for functions. They don’t have that for Ruby though, so when I need it in C/C++/ I just go back to Xcode.
TextMate’s one of the only pieces of (non-game) software I’ve enjoyed enough to buy.
I’ve been doing a TON of Ruby and Ruby on Rails development lately.
When I’m on my iBook, I use TextMate. I bought it too, and it’s been worth every penny.
But my main big development workstation is a Linux box, and I’ve been using emacs for years. Now I find myself craving TextMate for Linux :)
Or, rather… I find myself craving a big Mac development workstation.
Must… hold… out… for… Intel!