Editing with Sublime

So Long, TextMate

It didn't take me long to figure out that the TextMate 2 alphas were really far from completion. I installed and used it for about 20 minutes only to find that it was really hard to get the environment tweaked without some kind of Preferences GUI. With the program still being in Alpha, it didn't make any sense to dump a bunch of brain cycles into tweaking something that would probably be completely undone by a nightly build at just about any moment.

Last week's release seemed like a big F-U to those who were holding out for the new release...especially folks who ponied up cash for the Alpha.

Why Sublime?

Sublime Text 2 (hereafter just "Sublime") has a lot of the qualities that I was looking for when I started the process of going with VIM full time.

Sublime:

  • Is cross platform
  • Isn't beta or alpha software
  • Looks really nice across platforms
  • Supports many things I love about VIM
  • Supports many things I love about TextMate
  • No temp file mess like what gVim creates in Windows

Use Cases

In addition to using Sublime for things like drafting reports, emails and memos, I've found a couple things that are particularly useful in what I do that I never did before in prior editors. This is the kind of glue that can really make a tool stick.

Load File Repathing

Find and replace is super fast and persistent across files or sessions. You can open and explore an entire directory within the sidebar. This week I had to find a pattern that occurred across about 70 different files with about 1500-2000 instances within each. This would have taken probably twice as long with more potential for error in something like TextPad. Files of that size might have choked TextMate. Sublime mowed through them.

Report, Project and Documentation Building

I have a specific structure of text files and directories that make up the skeleton of all of my forensics cases. Having this kind of standard really helps keep everything organized in a predictable way. All my notes and thoughts are stored in MultiMarkdown so I have metadata fields at the top that declare things like the case number, evidence identifier, primary case team contact, etc. I have a dummy case set up with all the folders and text files with their structure already in place. In the case root I keep a readme file that contains all of the variables that I want to set in each text file.

When I've got a new case that walks into my door, I copy my template project file, open the folder in Sublime, select the README.md file and start replacing the variables listed. Here's the great part, you can do this across all the files in the sidebar.

Getting Up and Going

Sublime is a pretty solid little editor right out of the box, but with a little bit of tweaking, the power and potential really come through.

  1. Grab the file from the Sublime website and install it
  2. Unlock Vintage Mode and mess around
  3. Install the Package Manager
  4. Install the Sidebar Enhancements package
  5. Browse through all the packages that are avaiable check out how easy they are to install and remove