TextMate Book Review
I have written about TextMate before. In a nutshell, I find that TextMate is a great text editor for OS X (I think it is the best, but I don’t want to start a flame war). One of the things that makes it such a great application is its extensibility. Even a user with limited coding skills (like me) can easily add new features or modify how existing features work. I created a GTD bundle for it, using other bundles for code and coding examples. Perhaps the most difficult part of creating a new bundle is sorting through the TextMate blog, wiki and mailing list for help. The answers are there; Allan Odgaard (the creator) and the mailing list regulars are extremely helpful. The only problem was that you needed to search for answers. I say this in the past tense because a new book brings all of the answers together.
TextMate: Power Editing for the Mac, by James Edward Gray II, is more than a collection of the tips and tricks that you can find on the various web sites; it is a users guide and a programming guide too. The users guide section is great – James really emphasizes the importance of key commands. This is good for those coming to TextMate from the emacs world and miss the arcane “control-c control-x” functionality. It is also good for new users who like TextMate in general but may be overwhelmed by the plethora of key commands. The book them goes into a discussion of the basic bundles that everyone should know.
The second half of the book is the programming guide. This starts with the basics of snippets and tab commands and goes on to walk through creating language files – the place where the grammar of a language is described. The importance of language files is that they tell TextMate how to highlight text in a given language. One nice feature is that James builds a non-trivial example of a bundle as he goes through this section. The example bundle is like a picture – it’s worth a thousand words of explanation!
The bottom line is that this is a great book. I thought I pretty much knew everything I needed to know to develop bundles for TextMate, but I was wrong. After going through the book, I realize that I had only scratched the surface of the features of TextMate. I now have many ideas for new and improved features for my GTD bundle!
