There is no shortage of options for text editors geared towards developers on the Mac, but TextMate is our top pick. Despite its high price tag, it wins out thanks to its massive programming language syntax support, helpful code snippets, expandability, and integration with the OS X terminal.
Platform: Mac OS X Price: $US58 (30-day free trial) Download Page
- Ability to Search and Replace in a Project
- Auto-Indent for Common Actions Like Pasting Text
- Auto-Pairing of Brackets and Other Characters
- Clipboard History
- Column Selections and Column Typing
- Completion of Words from Current Document
- CSS-like Selectors to Pinpoint the Scope of Actions and Settings
- Declarative Language Grammars for Graceful Mixing and Hacking
- Dynamic Outline for Working With Multiple Files
- Expand Trigger Words to Code Blocks With Tab-able Placeholders
- File Tabs when Working With Projects
- Foldable Code Blocks
- Function Pop-up for Quick Overview and Navigation
- Plug-able Through Your favourite Scripting Language
- Recordable Macros With No Programming Required
- Regular Expression Search and Replace (grep)
- Run Shell Commands from Within a Document
- Support for Darcs, Perforce, SVK, and Subversion
- Support for More Than 50 Languages
- Switch Between Files in Projects With a Minimum of Key Strokes
- Themable Syntax Highlight Colors
- Visual Bookmarks to Jump Between Places in a File
- Works As External Editor for (s)ftp Programs
- Works Together With Xcode and Can Build Xcode Projects
Note: This feature list is borrowed from the TextMate site and the links will take you directly to TextMate's pages containing more info on each feature.
TextMate is excellent. It's as simple as you need it to be, providing only a single window for editing a single document, or it can expand to handling a large file structure. It supports syntax highlighting for practically any programming language you can think of, plus it contains code snippets. These things can be expanded by downloading third-party add-ons. TextMate has great code organisation features. It updates frequently enough that you feel taken care of but not so frequently you want to smack it in the face (like with Evernote). You can even use TextMate as your text editor in the terminal with the command mate. If you're looking for a WYSISYG editor, TextMate - and this entire category - is not for you. If you just want to write code in a great editor, you've come to the right app.
Organising the files you're currently working on could be a little more user-friendly, as it can be a little bit tedious if you don't open your entire work folder immediately at launch. The undo history is so detailed that you can find yourself pressing Command+Z a lot just to get back to the place you wanted. Generally it's just faster to retype it. Overall, though, there's very little to complain about. TextMate is a very solid app - as it should be, for the high price of $US58 (which fluctuates depending on exchange rates).
It's impossible to avoid mentioning SublimeText because it's so similar. It even costs about the same ($US1 more at $US59). The feature set is similar, it has almost the same support for language syntax as TextMate, and even has a Windows version as well (which is where the app originated, but that Mac version is still very Mac-like). Honestly, whether you use Sublime Text or TextMate is really going to come down to preference. They're both excellent and both, perhaps, a bit too expensive. They also both come with trials, so you can check them both out and decide for yourself.
But maybe you're someone who doesn't want to pay for their programming-friendly text editor. If that's you, there are a couple of options. First, TextWrangler is a capable option with a loyal user base (if they haven't already upgraded to its big brother BBEdit), but it's a little low on capabilities and has an interface that feels pretty dated. Alternatively, there's Fraise (the successor to Smultron), which is another free, capable, but not-as-amazing-as-TextMate (and Sublime Text) text editor.
The free option that's probably most like TextMate (and Sublime Text, for that matter) is Kod. It supports over 65 languages, is remarkably fast and lightweight, and only comes with one real disadvantage: it's in its early stages of development. When I checked it out earlier this year, however, it was pretty solid. Kod is very much worth a look, even if it hasn't been around for quite as long as the others.
Lifehacker's App Directory is a new and growing directory of recommendations for the best applications and tools in a number of given categories. This week, we're focusing on programming text editors.