Sublime Text Editor Goes Cross-Platform

Sublime Text 2 (S2) is in alpha release status with try-before-you buy. There is a lot of hype that S2 will be the new TextMate replacement on OSX, but it is cross-platform, so will likely break into Linux and Windows very strongly. It is has some ground-breaking new ways of editing code including multiple cursors which is like column-selection on steroids. S2 is highly extensible via JSON configuration files and a very powerful Python API.

I have been on a quest for my dream code editor for a long time. I work on OSX a bit, but do most of my development in Windows (on my Mac VM). I like using Vim on OSX, but gVim just looks ugly on Windows, and extending Vim to do other things is not a piece of cake. The buzz on OSX has been TextMate for a long time now, but I couldn’t run that on Windows. I know about E TextEditor is supposed to be TextMate for Windows, but I haven’t heard raving reviews on it. I had pretty good luck with Notepad++ for a while and tried jEdit too, but I still wanted more.

My ideal editor needed good extensibility for automating tedious tasks in order to make me more effective as a developer; and increase my sanity as well. Additionally, I wanted something that was cross-platform, so that I didn’t have to shift gears too much when changing host OS platforms. I had been considering starting an open-source project of my own with an efficient and snappy editing pane written in a native language for speed (maybe Scintilla), but extensible using a high-level and powerful scripting language. My plan was to use Ruby for the extensibility, since I am pretty fluent and enjoy toolsmithing with it.

Then, a co-worker of mine pointed me at Sublime Text, and I quickly realized that it had the promise to fill my desires. The only hitch was that Sublime uses Python for its extensibility magic. Though, that presented only a minor hurdle for me, so I decided to take on the challenge of learning Python.

Sublime started as an editor with support for Windows only, but there were ramblings that it was going to go cross-platform. As an embedded developer, I spend much of my time in Windows, because many embedded tools only have support for the Windows platform. So I dove in!

Sublime has an extremely attractive GUI and presents a very satisfying user experience in general. Here are some of the features that I think make is so powerful and/or unique:

  • Multiple cursors
  • Goto Anything (fuzzy finder)
    • For easily previewing and opening files
    • Navigation to any file line or symbol
  • Insanely customizable
    • Custom key bindings (JSON format)
    • Macros
    • Excellent plugin API
  • Lots of free plugins readily available
  • Minimap (birds-eye view of entire file)
  • Uses TextMate themes (so as to not “reinvent the wheel”)
  • Multi-pane view options
  • Distraction-free editing mode
  • Powerful search and replace mechanism
    • Project-wide search
    • Support for regular expressions
  • Lightweight project files
    • Build system specification
    • Multiple mount points for content
    • Inclusion/exclusion filters (if desired)
  • Output panel with click-navigation to error sources

Where do I get Help and Plugins?

Jon hosts a forum on the Sublime site at http://www.sublimetext.com/forum/, which is a great way to query the community and even get help directly from Jon if you’re lucky. Also, there is a forum dedicated to Plugin Announcements .

Initially, a GoogleCode project was the sole source of plugins, but now plugins are popping up all over the place! A new site, http://sublimetext.info, has been started that indexes plugins from GoogleCode, BitBucket and GitHub. Most plugins have yet to be updated to work with S2, but a new SublimeText GitHub Organization was created as a source for S2 plugins, and is starting to get populated.

What’s the Catch?

Well, the only problem is that Sublime Text 2, the cross-platform version, is still in alpha status, and is missing some features from Sublime Text 1. Although, it also has some great new features too. Sublime Text is developed by Jon Skinner down in Sydney, Australia. Apparently, he is an ex Google developer that started this project on the side, but has attracted quite a following. Licences for Sublime Text are $60 a pop, which in my opinion is chump change for such a kick ass editor that makes me significantly more productive.

Give it a Shot Already!

Though Sublime is not free, you can try it for free. There is no evaluation version, so you can play with all of its goodness to see if it is right for you. The trial is not time-limited. You just get a not too annoying popup a couple times a day reminding you that you don’t have a license. So basically, you have no excuse to not check it out. Although, if you decide to stick with it, please buy a license to say thanks for all of Jon’s hard work. Licences are per-user and can be installed on as many machines as you’d like. Grab the alpha versions from the Sublime Text 2 page

Conversation
  • kim madsen says:

    Have you tried the redcar text editor which is written in ruby

    http://redcareditor.com/

  • Kim,

    Yeah, I have heard or RedCar, but heard of it after I started using Sublime. Would love to hear some feedback from someone who has used it though. Feel free to share it here!

    After using Sublime and falling in love with the multiple cursors stuff and the UI/UX in general, I really don’t have a desire to switch again. I would love to hear of some other experiences though.

    Thanks for the feedback!

  • BTW, I was just chatting with Jon Skinner last night about a Vim-ish plugin for Sublime. I have heard a lot of people requesting this, and it would not be too hard to whip something together. Sublime has a ‘command-mode’ whose intention is largely to support a Vim-ish plugin.

    Would anyone be interested in that?

  • Andy says:

    Hi Greg,

    did you try out SlickEdit so far? It’s also multi-platform, pretty fast and (probably) has every feature built-in you might ever want. Only drawback: It’s pricey! Aside from that I really love this editor and would never switch back to something else again.

  • Comments are closed.