Elements or Lower

Wed, 06 Oct 2004

TextMate vs SubEthaEdit

The widely-anticipated new text editor for Mac OS X, TextMate has now been launched.

I’ve been using SubEthaEdit as my main editor for some months now, and so it’s hard to distinguish what’s a genuine point of comparison from what’s simply a case of having to unlearn old habits. But there are a few small features in SubEthaEdit that I know I’d sorely miss if I were to switch to TextMate wholesale.

  1. The ability to tint the background colour for text that I’ve changed. It’s so useful to know what I’ve touched in a file when looking for bugs, particularly when edits in a single session are dotted around a variety of different subroutines.

  2. The ability to alter multiple lines at once by selecting them with the option key. Let’s say you have a bunch of <li> tags in an HTML file, and you want to give alternate ones a separate class. In SubEthaEdit, you’d just click on alternate lines holding down the option key, then place the caret after an <li and start typing. The change you make to the line with the caret will be reflected on all the other lines you’d highlighted. It’s a complete timesaver, and something I was so chuffed to find having come from StrongEd on the Acorn.

  3. SubEthaEdit creates a function popup at the top of the window that you can use to jump to a given block. In Perl, this is a list of named subroutines. It’s great to open a file and be able to jump straight to the subroutine you’re looking for.

That’s not to say that there isn’t some great stuff evident in TextMate right from half an hour’s playing with it. In particular:

  1. Being able to “fold” blocks down to their opening definition to get them out of the way. This seemed a little buggy when I tried it in one of my Perl modules, but that might simply be because there isn’t a Perl mode (or “bundle”) yet.

  2. Columnar selections.

  3. Being able to conduct a regexp-based search-and-replace across a number of files at once.

  4. Macros and snippets.

  5. Auto-completion of brackets and so forth.

Similarly, there are niggles with each.

Of course, TextMate has only just been released, so it’s hardly fair to criticise it too strongly it on the basis of a couple of irritants that may well get fixed. I’m certainly looking forward to seeing any Perl bundle that gets released, as without this, I really can’t form a comprehensive judgement for my own needs.

But, ultimately, although TextMate has delivered on its hype impressively, I suspect that the things I like most about SubEthaEdit may become deal-breakers for me.