iA Writer and VimRoom

I think apps like iA Writer are cool -- the idea is to remove all unnecessary GUI chrome to allow the author to focus on the content:

As soon as you type the title bar disappears and all you see is the clean typing sheet, distraction-free, ready for your ideas to take shape. With over 600,000 copies sold, Writer has helped students, journalists, and bestselling authors to find more pleasure in working with text.

Vim, by default, isn't far off this anyway. I find it works great as a tool for the type of technical writing that I do, in addition to the usual programming chores. That's partly due to the amount of code I write inside documentation: trying to write code samples without a dedicated code editor is tricky to say the least.

iA Writer

iA Writer supports Markdown, so it does appeal to a technical audience, but once you've got Vim's text objects and commands in your muscle memory it's never going to feel quite right. Vitaly Kushner wrote a blog post about cloning iA Writer's look and feel in Vim: Writing Markdown With Style in Vim. The idea is to set up Vim with a light background, large font, and more intuitive Markdown rendering.

One of the issues with Vitaly's approach, however, is the use of a foldcolumn to indent the page. iA Writer makes your content float inside a large amount of whitespace, which helps keep text readable, particularly when writing documentation or prose. Vim can imitate this with foldcolumn and textwidth, but it can only indent a limited amount of characters. I found a StackOverflow post by Ingo Karkat where he suggested using a hidden vsplit. I tried it out and it was more like iA Writer, but I kept searching for other solutions.


Eventually I found VimRoom (GitHub: mikewest / vimroom) by Mike West. Inspired by WriteRoom, VimRoom is a plugin that works with command-line Vim. If you look at the source you can see it uses vsplit to create columns for the extra padding.

blog comments powered by Disqus