text editors for writers

Most writers I know use Microsoft Word for their writing and editing. It's a wonderful piece of software that truly revolutionized what word processing meant, making it easy and intuitive for anyone to start creating documents on their PC. But what I don't fully understand among writers is why they choose to stay with the clumsy and bloated Word for writing purposes, when there are far more effective and efficient tools available for writing text.

To contrast with most writers, employees in some industries really learn to use the best tools. When one of my friends was starting a summer internship in finance, she was sent an excel workbook before her start date, with the sole purpose of learning as many Excel shortcuts as possible. Truly effective financial analysts are defined in part by their mastery of fast spreadsheet manipulation -- the most advanced even write macros to automate their most common tasks.

But Word lacks anything beyond the most rudimentary keyboard shortcuts. It's somewhat inefficient to manipulate text using the mouse while writing because it requires the writer to constantly switch between having both hands on the keyboard and having a hand on the mouse. By keeping the hands on the keyboard at all times, it's almost always faster to quickly write and edit without lifting one's hands away, provided that there are a smart set of keyboard commands (here is some discussion). This means not even using the arrow keys (since they aren't at the ASDF, JKL; keys where you should have your hands when touch typing).

Word is also overloaded with features that most writers will never use. It's a swiss army knife with endless blades and gizmos that never get folded out.

This is why I am puzzled more writers don't take advantage of text editors built for efficiency that are popular among computer programmers, such as vim. These tools are much more like precision scalpels than swiss army knives:

the vim user interface

While the user interface may seem barren, vim is tremendously powerful for manipulating text. The defining feature of vim is the presence of different modes, which separate out the insertion of text into a document from the navigation, selection, and edition of text.

Here are some of the reasons I think writers could benefit from using text editors like vim.

  1. Effortless navigation

    In the default "normal" vim mode, pressing keys on the keyboard doesn't produce characters on the page. Instead, it moves the cursor around and manipulates existing text in various ways. In just a few keystrokes, it's possible to move forward and backwards by single characters, words, sentences, paragraphs, or pages. Performing the "find" operation is as simple as pressing the / key. Replacing a single character doesn't require any selection -- you just move to the character and press 'r' and the correct key.

  2. Separation of writing and editing

    Moving from the "normal" mode to the "insert" mode is also simple -- one keypress and you can have a brand new line, or you replace the entire word under the cursor, or you begin writing again at the beginning or the end of the current sentence. Then, the keyboard works just as in a normal word processor, with escape bringing you back to the normal mode.

  3. Simplicity

    While there is a bit of a learning curve, nearly all vim commands are strings of , so one you master the commands, it's simple to string them together once you learn the patterns. For example, hitting df, has the result of deleting forward until the ,(comma), making it simple to edit lists. Or perhaps c2w. This will change 2 words, meaning it will remove the next two words and put you in "insert" mode so you can change them.

  4. Customizability

    It's possible to do pretty much anything in vim. There are tons of configuration snippets available online that can add any imaginable feature to Vim. For example, I've added a feature where my cursor is returned to its previous location in the document when it is reopened -- so I can close a document and then return right to where I was writing when I come back to it.

Some of these features would undoubtedly be very useful for writers -- so why haven't they caught on?

  1. Fewer syntactical requirements of prose writing

    A few weeks ago I had lunch with Jonathan Rochelle, the creator of Google Docs, and he had some interesting thoughts on the topic. His suggestion was that freeform, prose writing has fewer syntactical requirements of programming that editors like vim were developed to address. Programming sometimes consists of lots of repetitive structures that vi is particularly optimized for. Indeed, one of the most powerful features of programmer's text editors, syntax highlighting, isn't useful to normal writers.

  2. Learning curve

    In spite of the plethora of educational tutorials available online, and the powerful built in help system, it still takes a lot of time to learn the basics of how to use these advanced text editors. Lots of default features that people have come to expect are missing. For example, vim lacks a default spell-checker. More generally, since there is no visual interface, commands aren't easily discoverable: it takes a concerted effort to learn the commands. In a sense, learning how to operate a text editor requires developing a fair bit muscle memory, just like learning how to type properly. In the same way that nobody has to think about where the 'e' key is when they are typing, users of vim don't have to think about how to delete a word, since this action uses exactly the same mechanics like typing itself.

  3. The limiting factor of writing

    Perhaps the limiting factor in creative writing isn't the ability to transfer ideas into text, but rather the ability to come up with the ideas in the first place? Maybe the marginal benefit of using a more keypress-efficient editor is insignificant for this reason? I don't quite believe this myself -- removing any friction to writing will make jotting ideas down simpler -- but when considering the learning that must go in before you gain the benefits, many writers might not think it's worth it.

  4. Lack of support for popular file formats

    I think this is the biggest reason that alternative text editors haven't caught on in the writing community. Everyone depends on having doc files sent around, which have some useful features such as commenting and revisions. These features aren't directly supported in vim, which is usually used to create plain text files. There are some super simple markup formats nowadays that allow for more expressive HTML document creation (like Markdown which is used for this blog), but they are still a long way off from what people expect to receive in their inbox.

To try vim out for yourself:

If you're on a mac, open up a Terminal, and type "vimtutor" and follow the lessons to learn some of the basics. You may feel a bit frustrated at first -- don't worry. Using vim is a skill that takes a while to acquire, just like touch typing. While you might be slow at first, the benefits do come eventually.

A good way to go about learning is to learn vim progressively, by building up just enough to do the basics and then picking up more as you go along. This approach is described will in this blog post.

If there is enough interest, I might make a set of tutorials for non-technical users so they can learn how to use tools like Vim. I think there is a tangible benefit for anyone who spends considerable time typing and manipulating text on a computer.