TextMate: Can Text Editing really be this much fun?

Much of my Developer life revolves around working with text files: web pages, perl scripts, php scripts, SQL exports, javascript, log files, config files, time logs, and even plain ol’ text files.

BBEdit has been my text editor of choice since the late 90s, and it’s done a great job with pretty much everything I’ve thrown at it. It’s handled huge 30meg files with ease, displayed scripts with syntax coloring, let me convert between Mac, PC and Unix formats, preview web pages, given me a Jump command and a function popup that instantly transport me to the relevant section of long files, and even let me enhance it by adding my own scripts (for instance to total client hours in my time log).

Still, I passed on upgrading from version 7, as the new version 8 didn’t seem to offer much that was useful to me. BBEdit is a workhorse prduct and it’s certainly served me well over the years, but to be honest it just feels, well, stale.

I’ve been hearing about the new kid on the block, TextMate, for a while now. There’s even a cool video about Ruby on Rails that showcases TextMate as much as it does the ease of developing in RoR (the TextMate windows are the ones with colored text on a dark background; notice the hierarchy on the left, the tabs, and how stuff appears automatically).

In January I took advantage TextMate’s free 30 day trial, and bought it about a week later and have been using it ever since. TextMate is a joy to use; it looks and acts like an OSX app, and tailoring it to work like I do is far, far easier than BBEdit ever was. Things like text folding, language context macros, tabbed windows, smart snippets, tab completion, and one key “compare against saved version” make programming easier and more fun, and I’m more productive.

The TextMate community provides great support, many people have contributed plug-ins, themes, and bundles to enhance TextMate. It supports a number of programming languages as well as HTML, CSS, XML, Textile, Markdown and more. My little script to total client hours that I wrote for BBEdit ported over to TextMate in about two minutes, most of the time was spent figuring out where BBEdit had hidden it. TextMate’s built-in Bundle Editor saved it for me and call it back later — I didn’t have to save the file myself, nor did I have to read the manual to find out where I should save it (both of which I had to do with BBEdit).

Oh, I still keep BBEdit open while I work, but it’s pretty much just for doing multi-file searches (one of the few thing it does better than TextMate). BBEdit has served me well, but it’s time to be put that workhorse out to pasture.