Theory: SublimeText is the best GUI text editor in existence.
Using SublimeText is like waking up on Christmas morning. There’s this feeling of constantly being impressed with new toys you never had before, but suddenly feel like you don’t want to live without. I spent ages looking for something that would suit my needs better than Eclipse, only to end up back where I started. But the instant I started using SublimeText, I knew I’d found what I was looking for, and I would love to tell you why.
Why do text editors take so much time to load, switch between and scroll through large files? Aside from editing actual text, these are the key functional aspects of a GUI text editor. By these measures, and a few others as well, SublimeText is stupid fast.
The first thing anyone will notice about full-on IDEs like Eclipse or Netbeans is that they are sluggish and clunky. Most other editors are fairly quick, but not impressively so. True, a few milliseconds here and there don’t appear to add up to much at the end of the day. However, once you get used to the feel of an editor that’s as responsive as an F1 car everything else feels like driving a yacht.
When measured against other editors, it’s sufficiently feature rich. For navigating it’s got folder views, panes and tabs. There’s support for syntax highlighting just about any language you’ve heard of and plenty of good color schemes. The find and replace tools are addictive and unobtrusive. Indentation style is accurately detected and applied on a per-file basis. Print margins, line numbers and indentation guides are rendered in a lightweight way. Finally, SublimeText has a plug-in system and even a package manager, so most of what isn’t supported out of the box can be supported with plug-ins. It’s even compatible with TextMate bundles.
It doesn’t have features you don’t need
There’s a couple of things missing here and there, but they all seem to be features nobody really needs. Features like code outlines are typically failed attempts to solve problems like navigation anyways. It doesn’t integrate a version control system, or use icons in the folder view. Some people may debate the values of integrating these and other features, but I find that life without poor implementations of debatably useful features is better, and I’m confident that you will too.
It has features you didn’t know you needed (but do)
You can place more than one cursor, select more than one contiguous region of text, select vertically, and then combine those multiple selections into a single one, or split a multi-line selection into multiple single line selections. I have found this is especially useful for adding commas to the end of many lines of text at a time. Tasks you would typically employ regular expressions to accomplish are now achievable using an intuitive graphical user interface.
While navigating around a file, you see a zoomed out view of your syntax highlighted code on the right. It’s a mini-map of the entire file, which can be scrolled through by clicking and dragging. This mini-map gives you a feel for where you are in a file like nothing else I’ve ever seen. Interestingly, syntax coloring combined with indentation creates visual patterns in code that make functions and statements easy to identify from a bird’s eye view.
You edit your preferences as JSON files. Press save and they are instantly applied. Maybe this is especially suited to front-end web developers like myself, but any programmer can appreciate that there’s no hood for anything to be under.
Seriously, it feels like this editor is implemented in hardware or something. But speed isn’t just about how fast the program runs on my computer. It’s how fast I can work when I am using it. I personally use a plugin called SublimeLinter, which adds static code analysis hints to code as you type it. This alone has sold many of my colleagues on it enough to give the editor a shot. The speed at which you can accurately write code is something that any editor should aim to increase, and SublimeText does so with ease.
It’s not open source?
Yeah, I know – this sucks doesn’t it. This kept me away for ages, but let us not forget that Linux used to use BitKeeper until the great Git was invented. The deal is, the open source community benefits when awesome open source code is produced quickly. If an editor that costs $60 is the guilty pleasure that helps you be more productive and happy, I suggest you indulge yourself and move on with your life. Furthermore, as a software engineer, I can appreciate what’s been built here, and feel my $60 is well spent on supporting an application that inhales code and exhales awesome.
Give it a try, see for yourself.
For the record, I was not compensated or encouraged in any way to write this by anyone. I use this tool every day and have come to love it. I just want to share the love.