I recently switched over from Panic’s Coda to TextMate as my main development/script editing tool and I am very happy I did. Don’t get me wrong, Coda is Great, but TextMate is better! On the surface TextMate seems like a very basic text editor, but don’t let the UI fool you, this application is loaded with a tone of advanced and very helpful features.Andrew*
It wasn’t until I purchased TextMate: Power Editing for the Mac, a very thorough guide to TextMate. This guide runs about $20.00, but is more than worth it. The keyboard shortcuts this book introduced me to covered the cost of books alone. I have saved so much time using the skills I learned in this book.
There are 2 bundles I find myself using the most. The first, is the TODO bundle which is something every developer will benefit from. The TODO bundle offers up a very simple way for programmers to stay organized by allowing markups in the code itself. How it works, is TextMate allows you to simple type “TODO” then click tab, and it will create a nice organized list where you can input TODO items on each page. Then, you can click control + shift + t and a list of all your TODO items across all the files in your current project will be listed with links that take you to the exact line said item occurs. This might not seem significant, but I find it very useful when it comes to making notes in my code, or when I need to change a variable for debugging reasons.
The second bundle I find myself using, is the HTML bundle. This allows you to conveniently create a wide arrange of HTML tags. With TextMate, you can just type “head” then click tab and a whole HTML head section will be automatically created for you. Same goes for a lot of HTML tags, including but not limited to style, div, body, …
Below is an example of both of these bundles in effect. Just so you understand how much time these bundles can save you, this example was created in about 10 seconds.
There are a couple of other minor things that TextMate offers that really makes a difference in my coding experience. For instance, when you are working with PHP and you type an if statement and hit enter, it moves your closing bracket to its own line, and provides a empty line in between the starting and ending brackets which is already indented. I am a OCD when it comes to keeping my code clean and organized, so this really comes in handy for me. Also, in the above example, on the left side next to the line number, you can see little markers that identify opening and closing brackets. These markers are clickable, and when clicked will hide the inner contents of of the bracket you had selected. I find this useful on CSS pages and PHP function pages. It just makes it easier to find a specific function on a page. No need to scroll through all of the function contents.
The final thing I wanted to discuss with you, is how TextMate works with Panic’s Transmit. Transmit is an FTP app that works with TextMate to provide a great set of keyboard shortcuts for easy uploading. This was made available after the Pragmatic Programmers guide was written, so you wont find it discussed in there, but you can find some articles on how this works on the TextMate site.
TextMate might be a bit on the expensive side, but it is well worth the cost. Also, do yourself a favor, pick up The Pragmatic Programmers: TextMate – Power Editing for the Mac guide, it will make sure you understand all that TextMate has to offer.