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. 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.