Let me begin this post by cutting straight to it. Sublime Text is awesome. I’ve had it installed on my computer for ages and cracked it out every now and again to edit some simple text documents, but never really used it in anger. Recently I’ve been working on a project on Linux which is composed of various bits of technology written in different languages. I was spending my days bouncing between a combination of C++, Pro/C, Perl scripts and PL/SQL, hopping backwards and forward between various command line tools and IDEs. It was becoming a bit of drag as having to constantly switch modes all the time was breaking my stride and slowing things down.
Sublime Text has solved my woes. Fundamentally its a text editor that allows you to have projects linked to a set of folders on your file system. It works on Mac, Windows and Linux and has an unlimited free trial. Text editors aren’t anything special on its own, but Sublime is backed up by a very fast fuzzy search system, that allows you to open any file in your project and browse to specific lines or functions with a couple of key presses. Did I say it was fast already? It’s worth restating as it blazingly fast compared to other editors I’ve used with similar features.
Next there’s the Build Systems feature. This is was the real game changer for me. Out of the box, Sublime can run Make files, Ant scripts and a bunch of other build types. Adding new build systems is done by writing a small piece of JSON, that describes a command to run and specifies it’s parameters. This has allowed me to write custom build rules that compile my make files, compile and run database scripts as well as launching a suite of test systems written in C++, Perl and PL/SQL.
Sublime Text supports a custom plugin system and there’s a vibrant plugin development community producing a host of useful add-ons. Need syntax hi-lighting for an obscure scripting language, chances are someone’s written a plugin for it. Want to integrate git commands or integrate directly with Github, yep, there’s plugins for that too. Finding new plugins is a snap through Package Control and the integrated package manager means new plugins can be installed in seconds.
It took me about an hour to put together a complete system that was customised the way I wanted. I can build, test and deploy every aspect of the system I’m working on all from within a single tool. Less time typing repetitive command on the command line, means fewer mistakes and allows me to focus on what’s important, the code.
If your not convinced yet, or just not sure that Sublime can really help you, I’d recommend watching a few of the tutorial videos from Tuts+. Their Perfect Workflow in Sublime Text 2 series is free, and showcases a ton of features that I can’t do justice here.