Tech Toolbox: Sublime Text

I will never be able to truly consider myself as well-versed in technology; very few people have seen it all. But I do love searching out the best I can find, and once I find it, I stick with it. In my Tech Toolbox you can find my favorite software, applications, and occasionally gadgets.

Sublime Text is a relatively new code editor on the market, being initially released in 2008. Its newness, however, has nothing to do with how popular it has become in recent years, and for good reason. Sublime Text has a streamlined interface and basic, easy to customize-features.

sublime-text-2-screenshot

I don’t like to say it, but I will pick the nicest UI when I can, over the more “hardcore” yet functional choices. Perhaps this is only because I am personally not very “hardcore”, but when I find a combination of great functionality and great UI, it’s a winner. Sublime Text is both of these.

Currently Sublime Text 2 is the stable version, yet the beta Sublime Text 3 is off the charts in terms of features and interface. Currently, it is free to download and the trial is unlimited, meaning you may use Sublime Text 2 or 3 as long as you want, no catch, and buying the $70 license doesn’t change the experience, except that you’re supporting the developers. However, they plan to only release Sublime Text 4 and future versions to those who pay.

So what’s so great about Sublime Text? Why do I use it?

  • The file control is amazing; the auto-updating sidebar contains a directory for folder navigation; there are projects, so that one can combine multiple folders which do not actually reside in the same parent directory into the sidebar, and the Goto Anything tool lets you bring up a file in seconds (even jump to a certain line in a file! They mean it when they say ‘Anything’). Files open in fully draggable tabs at the top, which you can reorder and even drag into new windows. On the side of each file, you can use the minimap to quickly jump hundreds of lines in a long document. Of course, all these features can be turned on and off.
    • The one complaint I have about the otherwise amazing tabs is that the shortcuts Ctrl+Tab and Ctrl+Shift+Tab don’t shift forward and backward tabs based on the current order on top, but a counter-intuitive algorithm based on which tabs have been most recently viewed.
  • Built for the coder, text control is superb; besides nearly-perfected automatic indentation, bracket autocompletion, and even bracket deletion, you can put your cursor/selection in multiple places, quickly editing multiple lines at once. With a simple dialog in the corner, you can change tabs to spaces and spaces to tabs, or change the width of them based on a number of spaces.
  • The syntax highlighting is excellent. You can quickly apply syntax libraries using the Command Palette, or save the file with an appropriate file ending and the colors just happen. There are different colors for functions, strings, rules, tags, parameters, and even escaped characters. Rifts in the coloring alert you of a missing quotation mark or parenthesis very quickly. I’m quite sure there is a way to customize the colors you use, as well.
  • As well as being able to highlight different languages fluently, Sublime Text hosts knowledge of libraries of functions for those languages. Functions can be brought up with a shortcut, autocompleted and ready for parameterization, and even HTML tags autocomplete themselves. Type <html>, hit tab, and watch a complete html skin appear, complete with head, title, and body tags, all indented. The amount of native functionality that Sublime Text holds, untouched and uncustomized, is the main reason coding in this environment is so fluid.
  • Sublime Text even has a Python plugin API, which means you can write your own functionality into the amazing text editor. Many plugins already exist–you can integrate Git right into the editor, or add a linter, or even a color wheel.
  • It’s getting there on this part, but Sublime Text can even display basic image file types right in the editor. Amazing.
  • There’s so much more I haven’t mentioned here. There’s distraction-free and full screen modes, tons of text control tools, collapsible code blocks, and, I believe, ability to compile some languages.
    • That’s one thing; Sublime Text is not an IDE. It’s not built for heavy compiling or running of programs. You’ll have to do that with a command line, or search for a plugin. However, I don’t currently work with many languages which require compiling, so this isn’t a problem for me.

The main reason I use Sublime Text is because it has amazing text control, and it meets all my needs. I’ve been using it for years now, and I haven’t needed to look for anything better in the meantime.

Convinced? Go to the website and download for Windows, Mac, or Linux (try the beta ST 3, rather than ST 2)! Not convinced? Look around the website for even more convincing. There are more screenshots and demos of the amazing functionality.

Resources:

Image credit Wikipedia, credit another blog.

Tech Toolbox: Sublime Text

Thoughts