Review: TextMate
Editor: TextMate
Version: 1.5.1
Developer: Macromates
Platform/OS: Mac
WYSIWYG: No
Price: €39
Touted as “The Missing Editor” for the Mac, TextMate isn’t even 2 years old yet, but it has already received an incredible amount of publicity, praise, and attention online. Strictly speaking, TextMate isn’t really an HTML editor; rather, it supports around 50 programming languages, including (X)HTML, CSS, and PHP (the languages I work in the most).
So, why all the hype? When I first downloaded and opened TextMate, I was a bit disappointed. You’re essentially presented with a blank slate: no buttons, no tips, no side panels — just a simple space to start inputting your code. “Meh,” I thought. I tried typing some HTML tags to see what would happen. Not much: no code hints, no highlighting. “Meh,” I thought again.
But the funny thing about TextMate is how well its outward simplicity belies its inward complexity. TextMate is essentially what you make of it. It is not a program that lets you just start coding; instead, you actually have to read the documentation, peruse the mailing lists, check out the screencasts and tutorials — then, and only then, do you begin to appreciate all the things TextMate can do.
What I Like
- The Project Drawer (aka, “Hey, there is a side panel after all”). This allows you to create a project from any folder by simply dragging the folder from the finder. Now you have a list of files and folders that’s easy to navigate and manage.
- Auto-complete for parentheses and quotation marks. No longer will you forget to close that “if” statement or CSS rule.
- Price: €39, which is about $50 US/$55 CDN. Nice!
- Integrates with system spell-check. Very nice if you’re doing plain text editing within TextMate (as I’m doing now).
- Themes for syntax highlighting! This allows you to not only create your own colour schemes for your language, but to download those created by others. My current favourite: Vibrant Ink by Encytemedia.
- Snippets. Holy crap! TextMate has the most powerful/customizable snippets I’ve seen yet. Of course, this power and flexibility takes time to learn, but once you do, the world’s your oyster.
- Column selection and column editing. The first time I ever saw this feature was on the little animated gif on the old Macromates home page. This is what initially sold me on TextMate. Love it, especially the column editing, which I haven’t come across yet in another editor.
- Tag mirroring. I’ve been dreaming of this feature. I often find myself editing HTML tags (headings, for example) and having to manually change both start and end tags individually. Instead, TextMate allows you to edit the start tag and have the change mirrored in the end tag. However, this only works with snippets, as far as I know, meaning you can’t edit already existing tags in this same way.
- Code folding.
- Because TextMate is so popular, there is a very active community supporting and extending it, which means lots of user themes, plug-ins, snippets, and tutorials.
- Auto-completion of words found in the current document by pressing the “escape” button.
- Support for over 50 programming languages.
- Scope selectors, used within snippets, control how a snippet behaves when invoked within different types of files. Code comments, for example: press “Command – /” and the appropriate comment syntax will be created based on the type of document you’re working on.
Gripes
- Learning curve. As I said above, this is one of those times when reading the manual first is necessary. Of course, this isn’t necessarily a bad thing, per se; it just takes time to learn TextMate’s features before the software can really help you get your work done more efficiently.
- The program is driven by keyboard shortcuts. I’m a mouser rather than a keyboard warrior, so this has taken some getting used to.
- Auto-complete for quotation marks and brackets seems to add closing punctuation whether it’s needed or not.
- Undo only undoes one character at a time rather than an a set of changes.
- Maybe I’m a lazy coder, but I like my code-hinting for HTML, CSS, and PHP. TextMate’s tab-triggered snippets can come close, but I prefer the traditional code-hinting found in skEdit, Dreamweaver, WeBuilder, et al.
- You can’t use the project drawer to work on files that aren’t related (i.e., that aren’t part of the project). A lot of editors have both a file explorer and a project panel.
- Regular expressions are a big part of TextMate’s power and flexibility, but if you’re a RegEx newbie (like me), your learning curve is going to be even steeper.
Wish List
There are things I haven’t even touched on here, such as TextMate’s shell commands and piping (to be honest, I don’t even know what these terms mean or how they work), so to suggest additional features might seem a bit ridiculous, but here goes:
- Code navigator panel for CSS/PHP.
- Traditional code hinting.
- File explorer panel.
- Tag mirroring for pre-existing tags.
Overall
TextMate is your editor your way. While it comes with a tonne of snippets and commands, TextMate becomes more useful the more you take the time to personalize it and learn it. It’s definitely not a program for novices; rather, it will appeal to Mac users who are familiar with their programming languages and want a lean and powerful editor to help them get their work done quickly.
6 Comments »
RSS feed for comments on this post.






You should check out SubEthaEdit. It gets missed because a lot of people see it solely as a collaborative editor, but it’s quite powerful as an HTML and programming editor. It’s missing some features that TextMate has, but it’s a nice alternative. It also has the column selection and editing ability that you mention above. Personally, I think it handles this better than TextMate since you can select random lines in a file and not just consecutive ones. Anyway, I’d suggest checking it out.
Comment by J.D. — May 26, 2006 @ 6:36 am
Thanks for the suggestion, J.D. SubEthaEdit is now on the list.
Comment by Eric — May 26, 2006 @ 9:23 am
[...] at least grab some of the best features from other editors, as e has done, giving Windows users TextMate snippets and bundles. Don’t get me wrong: HateML isn’t a bad editor; it just [...]
Pingback by HTML Editor Reviews » Review: HateML Pro 1.1 — July 22, 2007 @ 10:59 am
I’m also a new user of TextMate and getting to know it. I use EditPlus on PC. The search in project of TextMate can be improved though
Comment by Son Nguyen — December 27, 2008 @ 11:25 am
You can work on a project of unrelated files by creating a .tmproj file — go to File > New Project, then start dragging your files into the project drawer.
Comment by Craig Anderson — January 7, 2010 @ 8:37 pm
I’m a new user of Textmate, and it works well for a lot of our maintenance tasks. What’s especially useful for me is that you can call it from a terminal prompt: $ mate filename or $ mate dir (to create a project drawer)
(Since at this job we do a lot of work directly from terminal.)
However, I do lament the loss of a code hinter. Cycling through snippets is barely an improvement on not having them at all. The result is I don’t think Textmate is a good solution for building new sites and pages.
For that, I’m very partial to Coda by Panic. (For anyone who was a Homesite fan on the PC, and who wants the same functionality on a Mac, Coda’s your solution.) It’s less cheap, at ~US$100 per, but that’s still not a whole lot o money.
Comment by Tony — January 13, 2010 @ 10:09 am