If, like me, you write code on a Mac, you have a history of working with BBEdit. I'm somehow embarrassed to admit my personal history of working with BBEdit goes back almost a decade. Hey, what can I say? I like things that are simple and work. I've tried other editors, but none hit the same sweet-spot of plain old get-it-done-edness. Then I heard about TextMate.
I have to admit, the name is an issue. I mean, how am I to take that? Is that in the British sense of Text-Buddy, Text-Friend, Text-Pal-O-Mine? Or the more biological meaning of Text-Sexual-Reproduction-Activity? Either way you ain't gonna impress any hardcore geeks by bragging about your latest editor upgrade: "TextMate". Okay, so tell them you wrote it in emacs. Besides if Apple is using it maybe it is hardcore enough already.
I was willing to give it a try. I have to admit, I was fully expected to be dragging the demo down to the trash icon after a few clicks. Amazingly though, I'm still using it. In fact this is the first post I haven't written in BBEdit. And the folks at BareBones Software should be looking over their shoulder right now.
There's a fairly short list of must-haves that I always run down when evaluating a text editor. Here's how TextMate faired on the test-drive:
- Regex search
- This might seem like an odd thing to look for, but it's about the quickest way to divide the programmer editors from the writer's editor. TextMate is still in it.
- Open from FTP
- Another quick eliminator. Any editor that is serious about doing web work will allow you to open and edit right from the remote web server. And it looked like TextMate was down for the count, because it ain't got it. I almost started to reach for the cmd-Q keys, then I considered the situation. The fact is I don't really work like that anymore. Since Mac went all Unixy I almost always duplicate the remote file structure on my laptop, and run apache there, testing and developing until it's all working, and then I upload the lot. It doesn't do me much good to save each file to the remote server with my text editor, I use Transmit to "synchronize" the two file systems, which only uploads what's changed, and it does it all in one go. Not only that, but Transmit has the oh-so relevant feature of being able to integrate with TextMate (and BBEdit too), so that I can browse to the file in Transmit, hit cmd-J, and then edit/save the remote file to my heart's content. It just isn't all that important that my text editor have its own built in FTP client. Not only that but now that I've got a couple dozen web sites bookmarked in Transmit, I'd really rather not have two FTP clients to maintain. Transmit is already good at what it does and it shares that goodness with other software. Okay, TextMate gets a pass on that issue.
- Command line integration
- I like to be able write a little code, then run it right in the editor, without having to switch back and forth to the command line. BBEdit lets me do that with Perl, just by hitting a button. To TextMate's credit, it matches that and goes much further, by letting me run PHP, Ruby, and many, many more languages. Big plus in TextMats's column now. In fact it looks like it has dozens of integrations with external technologies I regularly use, like apache, blogs, Applescript, Xcode, and yes, Perl.
- Tabbed windows
- This is one of those "once you try it you can never go back" features. BBEdit has it, but so does TextMate, but only when working on projects (collections of files grouped together). Still in there.
- CVS integration
- Another luxury I've grown accustomed to in BBEdit. TextMate doesn't seem to have this, but it does have SVN integration. Odd, but then I've been meaning to switch to SVN for a while now. It's already installed on my Mac, so maybe this is a good excuse to start using it. Another pass for TextMate.
- And the rest
- Line-numbering, open-recent, spell-checking, syntax-coloring... If we've made it this far, then it's time to start giving it a some real-world usage testing. Again, TextMate seems perfectly usable. I did, however, have to turn the "smart typing" mode off immediately. Not surprisingly for anything labeled "smart..." it wasn't. Just type "\"" and watch it fall down. That's okay, I like to feel like I'm the smart one anyway.
Annoyingly, I can't find anything really wrong with TextMate. Oh, I admit the lack of integrated FTP is a change, but not necessarily a bad one. (Justin Blanton's blog makes an impassioned case for it but in my personal experience, I haven't mised it.) So why do I find it annoying? Dammit if the price isn't significantly lower than BBEdit too! I only wish I'd had TextMate before shelling out to BareBones.
