TextMate: I’m a believer
Those who aren’t of the coding ilk probably don’t care about text editors – specifically which one they use or why they use it. TextEdit or Notepad seem to work fine. My friends, You don’t even know what you’re missing.
A good text-editor should be like a really comfortable chair. It allows you to work more comfortably, without having to fiddle to much. It allows you to switch positions easily; when you feel like leaning back – it leans with you. Most – importantly, it doesn’t get in your way, or worse – impede your work.
In the past 8 months of working full-time (an understatement) as a web designer/developer I’ve gone through 4 different text-editors. While they all appeared to be nice-comfy-chairs at first, one after another they have revealed themselves as nothing more than simple folding chairs – only used as a last resort.
First, there was Dreamweaver MX. At my last, consulting job, in Boston, the workstations were mix-and-match and everyone working on the web projects was using Dreamweaver. I had used it before, and since I was only doing HTML/CSS, it seemed reasonable. It has great support for CSS and as I wasn’t the CSS master that I am now, the code-hints/auto-complete helped a lot. One thing I really got used to was having tabs. When I finished the consulting job, I moved on to working for myself and building an application from the ground up. This meant really diving into PHP/MySQL. Trying to do this in Dreamweaver was pretty awful. Though, they had code-coloring for PHP, it choked a lot on big pages and PHP embedded in HTML. Also, Dreamweaver is a clunker – even on my Dual G5 it seemed to take forever to open and would crash often. I needed something faster and something more suited for OsX.
Number Two was BBEdit, which is awesome for how light it is and the file gutter – which is almost better than tabs. It also had really great search and replace. It fit nicely in my mac environment and never once crashed. As a PHP editor, however, besides some really basic code-coloring there was no support. Moving on.
Next, as I was really a student of PHP and needed help remembering a lot of the parameters of the basic functions, I wanted something that really understood PHP. I found the Zend Studio which at first was like the productivity gods sending down a downloadable gift from the web-development heavens. It knows PHP. Like really really knows it. you just start typing the name of the function and a fancy tooltip comes up with a blurb from the docs. Awesome! Unfortunately, though Zend Studio knows PHP, it seems to know absolutely nothing of any other language, and even the html it generates isn’t standards compliant (I’m shaking my finger at you, Zend). Also the interface was awful and besides being ugly – it was impossible to find anything. The worst was its ‘Find in Files’ command which just straight-up didn’t work. It would find files that had what you were looking for but highlight a seemingly random bit of the code. Note: they might have fixed this since I used it. I was using version 5.03
And then there wast you – TextMate. You have saved me.
As it became clear that the problems with the Zend Studio outweighed the benefits – and I became a full fledged PHP dude. I wanted something new. Something cool. I had been following Rails for a long time – and if you watch any of the screencasts you see this awesome looking text-editor with crazy code coloring and what looks like amazing keyboard shortcuts (and support for Rails). This is TextMate. I downloaded the demo and tried it out. I instantly realized this was a really powerful tool but wasn’t floored at first. At first it just seemed like a new BBEdit – with sparse features and language support. Then I realized something very crucial – its extensible! There are bundles for almost any language you can think of – and if they don’t support your language you can add it yourself! (Score). This led me to find out that there’s a bundle for Smarty. That about sealed the deal. I’ve been using Smarty for a while now to do all my templating in PHP, and other editors at best ignored the embedded Smarty syntax and at worst just decided that an html document with Smarty tags was as good as a binary encoded file. Then I found out about some sweet keyboard shortcuts courtesy of Garret Dimon.
So, MacroMates – Enjoy my 39 Euros. You deserve it.