I’ve come to realize that I’m no longer a tinkerer. As I said in a recent post, I’m done fiddling with software and hardware. What I didn’t mention was that there was one exception – text editors. Being in the industry that I’m in, I spend a ton of my time writing and formatting text. In the search for the perfect environment to perform these tasks, I’ve spend a considerable amount of money trying to track down the perfect piece of software to help me quickly and easily move through my day. A great text editor helps you do so many little things that, on their surface, don’t really seem like much. But all of those little automated tasks and nifty shortcuts add up real fast.
This actually started out as a review of Coda 2. However, somewhere between the time where I got excited about the upcoming editor from Panic (announced last fall) and today, I started trying out a little editor called Sublime Text 2. While I purchased and really do think that Coda 2 is a fine editor, it’s going to be difficult to pull me away from all of the little things that make Sublime Text such an amazing editor.
Coda 2.0 is, in nearly every measurable way, a huge upgrade over Coda 1.x. However, I can’t shake the feeling that it’s a text editor designed for people who currently use Dreamweaver and are looking for something better. There’s no way else to say it without sounding like ‘that guy’, but it feels like a text editor with training wheels. Advanced web developers need more customizability, more keyboard shortcuts, more speed, and better syntax highlighting/checking/coloring for the $99 price tag that Coda retails for. Further, the app’s major feature is an inline preview feature that sounds great but is fiddly due to the fact that most developers are working in enviornments that aren’t really suited to one static file that you can just tab over to and preview. I know you can tweak the Coda preferences to allow for this to work a bit better, but it’s not quite as elegant once you get into even slightly advanced workflows.
So then, what makes Sublime Text 2 so great? In a lot of ways, ST2 is a spiritual successor to TextMate – it’s a lightweight, extensible, fast text editor with an amazing community. Nearly the entire UI can be customized, from the ‘chrome’ colors (you can make the UI light or dark or nearly anything in between), to the tab behavior, to the editor colors, error alert delays, etc. It’s really as simple or as powerful as you’d like it to be. Of course, it’s a fantastic text editor too. The document overview feature allows you to quickly scroll and find that one function or bit of code you’re looking for. Code completion, hinting and formatting work very similarly to how TextMate operates, and is highly customizable.
Being the dork that I am, the great text editor features only scratch the surface. Not only does it work the way I expect it to in nearly every way, it also has all of the little automatic features that I absolutely love. For example, you can drag your support folder to Dropbox and have a synced environment, preferences and all, between multiple machines. ST2 also has a package manager that is github-powered, keyboard activated, and has auto-updating technology so you’re always up to date.
Everything is powered by a command pallette that allows you to issue commands like svn updates, search for file names to open/preview, search css selectors or function names, and so much more. Not having to take your hands off of the keyboard is a huge productivity gain, and makes the interface very extensible. For example, I have added a handful of great extensions to the editor that do inline syntax checking/coloring, bracket highlighting, svn status updates, allow for sftp support, automatically add all vendor prefixes to css3 properties, and much more. Editors like Coda allow for plugins but it’s a process that never sees updates and generally doesn’t feel integrated into the editor.
Initially, I hated one feature of Sublime Text but have grown to love it. Instead of a standard preferences dialog with checkboxes, ST2 keeps all of its preferences in JSON arrays that are specific to each plugin, theme, or for the general app. While it does take a bit to get used to it, it makes it really easy to back up prefs or tweak things exactly the way you want to. The only things I can really say against ST2 is that a lot of preference changes require a restart, which can be disruptive to your workflow. Otherwise, any missing feature from Coda, BBEdit or TextMate is generally a quick search away.
There’s not a ton of great documentation from the developer (yet?) but there are some great blog posts with more info if Sublime Text is your sort of thing. The app costs $59 but has an ‘unlimited’ trial while you’re evaluating. It’s a per-user license so you can use it on Windows, Mac or PC. I’ve used a ton of editors over the years and this is the first one that doesn’t have a glaring weakness in my mind. As I mentioned above, this started out as me listing the pros and cons of Coda 2, but I quickly realized that in this increasingly complicated web development world, we don’t often have a single static page open that allows us to take advantage of most of the features that the Panic guys have included in their flagship editor. If you spend your days in a text editor on the PC, Mac or Linux, I highly recommend checking this little beauty out.