Silversuit

My ideal Markdown editing environment

Time for a quick post to document my Markdown writing environment.

Yes, I know people obsess too much over their tools. So, this is partly for me to document all the tools I use to write Markdown, rather than provide others with a "you should do this, too" type post. That you might find any of this useful would be a neat side-effect.

Sublime Text 3

I'm a long-time user of Sublime. I started using it shortly after it was released. Although I mostly use Visual Studio for my coding work these days, I still use Sublime for almost every other text editing task. Many have started using Atom instead, but I find it to be quite sluggish in comparison. I need my text editor to be lickety-split, and Sublime dishes it up in style.

Alone, Sublime is already an excellent Markdown editor (given Markdown is designed to be simple, you'd expect this), but with a few packages installed, it becomes a real joy.

One thing that helps raise Sublime above other dedicated editors is that it automatically provides a great editing experience when you're sprinkling some HTML into your document. I do this a fair bit, and it offers all the help you get when normally editing HTML, which is great.

Screenshot of Sublime
Sublime Text allows for easy editing of HTML within Markdown files

MarkdownEditing

This is the backbone of Sublime's improved Markdown editing experience. It provides improved colour schemes, better syntax highlighting and layout, and many features and shortcuts that make the editing process so much easier. I won't go over all of the features here as they're well covered in the MarkdownEditing documentation.

My favourite shortcut is probably Ctrl+Win+R, which wraps the currently selected word(s) in a reference link. The URL on the clipboard gets inserted at the bottom of the document in reference style, and the cursor is placed so that you can type the reference stub. Neat and simple.

I use the light colour scheme. This is in contrast to the dark scheme I usually use for coding. I find I prefer a light scheme for writing because it gives me a cognitive switch. If it's light, it's prose; dark and it's code. I use also f.lux so this eases the brightness nicely.

OmniMarkupPreviewer

OmniMarkupPreview provides a quick way to open a live preview in the browser. With a couple of keystroke you can have the preview open and side-by-side with the editor. On my Windows machine I hit Ctrl+Alt+O. Then if my editor window is full-screen, I can follow with Win+Right Arrow then Enter.

GhostText

This one is magical. It works in tandem with a Chrome extension. You make sure a Sublime window is open in the background (the extension warns you if it isn't) and hit Ctrl+Shift+K when you're in a text box. This makes the text box glow blue and puts the focus on Sublime. Now you can edit in Sublime and the text in your text box gets updated in real-time. It works the other way too; edit text in the glowing text box and the text in Sublime gets updated. It's very cool, and great if you do a lot of editing in textareas.

Google Search

A simple one this. Highlight a word or words, hit Ctrl+Shift+G and Google is searched. It puts the focus on the search Window so you can navigate to your result and follow the link without moving your hands from the keyboard. I use this a lot to grab links and look up word definitions.

Google Spell Check

Sometimes Sublime's built-in spell checker doesn't offer good suggestions. And sometimes you just want to correct the offending word to what you think will be the most obvious correction. Google's suggestions turn out to be pretty accurate, so I hit Ctrl+Alt+Shift+G and the mistake is corrected automagically.

MarkdownTOC

Especially useful if you do a fair bit of technical writing or for anything that requires a table of contents. It allows you to quickly insert or update a TOC.

Open URL

Useful for opening the URL currently under the cursor. Hit Ctrl+U and the page opens in your browser. What's nice is that you don't have to select the whole URL; the cursor just has to be somewhere inside it.

WordCount

Places a word count in the status bar at the bottom of the window. Also includes reading time, which is super-handy. This post currently stands at 4m 42s.

Proselint

I have just started using this after it was recommended by h0ke on the 30DWC Slack group. It offers some handy writing tips from well known authors and style gurus. It seems to work reasonably well.

It's a Python script, so you'll need that installed (I use Anaconda). It also uses the SublimeLinter framework, so you'll have to have that installed too. Oh, and you need the proselint executable on your PATH. So, quite an involved installation.

One problem I did notice is that when background linting is activated, it spawns a lot of Python processes in quick succession, which in turn was triggering a lot of scanning from Microsoft's built-in anti-malware scanner. Not sure why that is, but I switched over to linting on save, which suits me fine.

ManicTime

I should also give a special mention to ManicTime. This handy application tracks computer usage over time, much like RescueTime. It gives you an insight into just how much time you're really spending actually writing as opposed to researching, browsing, etc. It can be quite eye opening. Here's a screenshot of tonight's session:

Screenshot of ManicTime
Screenshot of ManicTime showing tonight's writing session