By Dan Bader / December 15, 2016

Why you should do most of your text editing in Sublime Text

When 15-year old me decided to become the world’s greatest guitarist my ingenious battle plan looked like this:

I’m just going to practice all the genres that I like at the same time. 🎸

That’ll give me maximum exposure and I’ll be able to rock it out in no time.

So, off I went and got practice books and magazine lessons for blues, jazz, and metal at the same time. I might’ve even thrown in some Pink Floyd solos for good measure.

Without even knowing how to fret a power chord properly I dove into lessons for these wildly differing styles…

…and a month later I had made exactly ZERO progress and was ready to give up the guitar altogether. 😞

Looking back I know now what guaranteed this failure: practicing all these different styles of music at the same time confused my brain and mixed up my muscle memory.

All this context switching didn’t help. It just added overhead and made sure I wasted otherwise productive time.

Years later I discovered I was about to make the same mistake with my development setup:

I caught myself using 5 different editors to write text in 5 different contexts –

I used Sublime Text to write code, my Git commits I wrote in Vim, my notes in Evernote, and my blog posts in Scrivener.

And this “editor proliferation” had the same effect that trying to learn how to play blues, jazz, and metal at the same time had: I lost a ton of productive time to multitasking.

Wonder how I reclaimed all this time lost to useless context-switching?

I decided to double down on ONE tool and to do as much of my writing as possible in one editor, Sublime Text.

By sticking to just one tool for most of my writing I’d have a chance to fully master it and shake off the useless context switches.

Sublime Text is a great choice for this because it’s so malleable. With it’s vast plugin library Sublime can be made into a flexible tool that can handles most of your text editing work.

Now I still use Sublime to write code, but I also write my Git commit messages in it, as well as my random notes, to-dos, and blog posts.

Let me give you a couple of pointers on how to replicate this setup:

For writing Git commit messages I set Sublime as my Git editor and installed the Git Commit Message Syntax package to get syntax highlighting for my commit messages.

For to-do lists and managing all kinds of personal and business-related projects I’m using the PlainTasks package. PlainTasks is a full-featured task management plugin that reminds me of Emacs’s Org mode. Keeping my to-dos in plaintext files has the added benefit that they’re easy to back up and sync across all of my devices.

For note taking I started out by simply writing plaintext .txt files in Sublime and storing them in a folder that I sync across devices with Dropbox. Lately I started using the PlainNotes package which adds shortcuts for creating and browsing existing notes directly within Sublime.

For blog posts and other long-from writing I found the amazing MarkdownEditing package. It adds a nice color scheme for Markdown files and improves Sublime’s syntax highlighting and Markdown editing features. I like to combine it with the Markdown Preview package to preview and read Markdown-formatted text with Sublime Text.

In summary, I’d like to encourage you to try and cut back on the number of different text editors you use day to day. It’s better to master just one tool like Sublime Text, before branching out and adding other text editing apps to the mix.

It’s too easy to become a “jack of all trades, master of none” (or worse–completely halting your progress). Don’t repeat my mistake by trying to learn blues, jazz, and metal at the same time 🙂

About the author

Dan Bader

Hey, I’m Dan and I love helping developers take their coding skills and productivity to the next level. I’m an independent software engineer, productivity nut, author, and speaker. Check out my Python tutorials and videos.

Guy Stalnaker - December 15, 2016

Excellent article. I would also suggest pandoc! You can type markdown then use Pandoc to ouput html (think KB documentation), wiki markup (for pasting into say, Atlassian Wiki), Word (for customers who need that kind of document). It’s brilliant. Thanks for the task and note recommendations. I’ll check them out.

    Dan Bader - December 20, 2016

    Hey Guy, thanks for the tip. Glad you liked the article! I’m writing a book right now and I’m using Pandoc to compile Markdown to LaTeX and then convert that to PDF… I’m really enjoying this workflow and the results are much better than what I put together previously from a typography perspective. So I’d definitely +1 your recommendation here 🙂 Thanks!

Reedyseth - December 15, 2016

Great Article ! Now I have found very useful information and discovered new Sublime Packages.

Best Regards.

    Dan Bader - December 20, 2016

    Thank you, Reedyseth! Glad you found it helpful 🙂

Lutz - December 16, 2016

Really interesting article.

Its all nice then I’m working locally. But I’ve to fix code via ssh on many servers in different environments. So yes two editors are normal. vim (terminal version) and sublime are my best friends.
Tanks Dan for the nice setup guide for sublime. This makes sublime a friend again. Long time I’m stopped using it due to wired configuration.

    Dan Bader - December 20, 2016

    Hi Lutz! Great to hear my guide helped make Sublime a friend again, haha… that’s awesome 🙂 Interesting point about using two editors. I really enjoyed TextMate’s “rmate” feature back in the day and I was wondering if something like it existed for Sublime. Turns out there’s a plugin called “rsub”. I’d love to give this a try and see if I can replace my dual editor workflow to run Sublime for those use cases as well.

Click here to add a comment

Leave a comment: