I am back to writing with Vim again. I have been flip-flopping among writing tools, and finally settled back on Vim. For those who are not familiar with Vim, it is a text editor that has been around forever. It is not for the feint of heart. It can be somewhat difficult to learn, especially if you are not used to a modal tool, or not a fan of keyboard commands.
So then why use it? I’ve given this quite a bit of thought over the last week or so that I’ve been back with it, and there are several reasons I think I will stick with it going forward.
1. Future compatibility
A few months ago, I began to try to collect all of my old writing. My intention was to build an archive of my writing from the time I first started, right through the present, and then keep it going forward. I wanted an easy way to see anything I’d ever written with the intent of paid publication. I started to write with the intent to sell stories in December 1992. Believe it or not, I still have those files 27 years later. I used Microsoft Word 5.5. for DOS back then, and these files are all in that format. The latest version of Microsoft Word can’t read them.
This is an example of a compatibility problem I want to avoid going forward. If my writing is going to be stored digitally, I want it to be in a format that is mostly immune to compatibility issues. Plain text is the answer. Vim is a text editor and allows me to write plain text files. I use Markdown in my plain text to get formatting I want in the output, but the files themselves are nothing more than simple text.
There are many advantages to this, a few of which I will touch on later.
2. Separating content from presentation
WYSIWYG just doesn’t work for me the way I envisioned it would when it first came out. I remember the first version of Microsoft Word that had a what-you-see-is-what-you-get interface. Even earlier, I remember AppleWorks, which also had a WYSIWYG interface. It was very cool to be able to layout the document on the screen to appear exactly as you want it on the page.
As I began to write, however, I quickly learned two things:
- I spent too much time playing around with formatting options, when I should have been writing.
- There are really only a small handful of standard formats that I use on a day-to-day basis.
Scrivener was the first writing tool I used that did a very good job of separating the content form the presentation of a document. In Scrivener, you write content and then compile it into one of many formats. You can move text around easily, and make the screen look however you want it to look, but the presentation–that is, the document that Scrivener compiles–can look completely different from what appears on the screen.
Vim allows me this separation as well. How things look on my screen is completely different from how the document they produce looks, but that is okay, because I still only use a few standard output formats (standard manuscript, letter, etc.). I use Pandoc to compile my Vim markdown into a Word document, or a PDF.
3. Look and feel
I’ve mentioned that my favorite word process of all time was Microsoft Word 5.5 for DOS. Maybe it’s because it was the first word processor I used when I started writing to sell stories, and its look and feel somehow imprinted on me at an impressionable age, but I like the look of white text on that blue screen.I have tried to mimic that look and feel in a variety of text editors and word processors over the years. When I came back to Vim a week ago, I took another focused crack at it–and managed to get as close as I possibly can. The text on the screen looks exactly as I want it to look:
- White text with a blue background.
- Show underlines instead of italics in markup–because underline is how you represent italics in a standard manuscript format, and it stands out better on the screen.
- Not too much else on the screen.
I realize that I can come close to this in other word processors. What I have not been able to do is get the look and feel that I want, while maintaining compatibility, and separating the content from the presentation layer–until now.
4. Change history
I like being able to see the evolution of what I write. Plain text makes it easy to see differences from one version to the next. I use flashbake, which is a tool that automatically checks in what I am working on to git’s revision control system every 15 minutes. Everything I write has an automated history of its construction. I tag certain check-ins, like “first draft”, “second draft”, “submitted draft”, “corrected draft”, “published draft”, etc. I can check out any of these and compare to any other.
I learn from these changes. It is interesting to be able to go back into time and look at things I took out, or left in. It also means nothing is ever wasted or deleted. If I write a scene that I really like, but doesn’t quite work in the story, I can remove it and yet the scene is still retained in git where I can always find it.
Here is a recent example of part of the git change log from a story that I have been working on.
5. One tool for all my writing
Over the years, I’ve found myself using different tools for different types of writing: one for paid writing, another (WordPress) for blogging, another still when writing correspondence. It means having to remember a variety of different key commands (which tend to vary from one tool to the next) as well as differences in the way they function.
I want one tool for all of my writing. I look back to writers in the first half of the twentieth century, doing the bulk of their writing on one typewriter, and using it until the poor machine wore down. Story drafts, letters, essays, everything goes through that one machine. It becomes an extension of the writer. In an effort to simplify, I’d like to be able to use just one tool for all of my writing. Of course, there is writing that I do that won’t get into Vim–mostly email–but there are always exception.
I can do this easily with Vim thanks to Pandoc, which can take my markdown file and convert it to any format I want, using template files. I have a letter template, a standard manuscript template, etc. From the plain text markup, I can produce with a single command, a properly formatted manuscript in Word format, or PDF format. I can do the same for letters, notes, critiques, etc.
With all my files as plain text, searching is much easier. Plus, tools like Vim make it easy to use regular expressions for searching, and I can easily search multiple files at once.
I’ve been using Vim for all of my writing for the last two weeks or so and I’ve gotten more and more comfortable with it. I’m trying hard to stick with Vim’s standard keyboard navigation (instead of the arrow keys) because I think it will make it easier to use with other computers over time. Plus, as I get more familiar with them, I find Vim’s navigation to be a power tool.
And yes, as you can see from the screenshot above, this post was written in Vim.