I met a Vim wizard for the first time in 1994. Two of them actually, a married couple. They really were wizards, at least in that mysterious internet gaming environment known as a MUD. That meant they had powers to build and transform the online world that the rest of us plodded through, one “north” or “south” command at a time. They had the power to bring objects into being and banish players from the realm. They told me that someday 3D graphics would allow us to wander through digital worlds without a keyboard, and talk directly into a microphone to other players around the world. Virtual reality was coming. “Ya, ok, whatever, so teach me enough C++ programming so I can see how you create rooms and stuff.” What followed was an attempt to teach a freshman philosophy major still working his way through elementary logic class how to fly before he could walk. Lots of gibberish about classes and objects, and what not.
The world of programming wasn’t what impressed me the most in my memory of this encounter. Or rather, it wasn’t the code itself that struck me as magical. It was what happened every time these wizards put their hands on the keyboard: fingers danced across the keys, but instead of each touch corresponding to a key on the screen, all sorts of complex things happened to the text they were editing. Two or three keys could radically change what I saw on the screen, and they kept coming. Occasionally, I would see them actually type words, but then suddenly they seemed to switch keyboard languages. It was as if they were typing in a language composed entirely of single letter words, each one a somatic component of a magical spell they cast on their computer.
The secret to their magic was Vim, or perhaps they were using its predecessor Vi. Vim is a powerful text editor which, like its ancient and less/equally/more powerful arch-rival Emacs grants its sorcerers the arcane ability to play “chords” of key sequences or key combinations that can delete, change, and move text in documents with a speed I have never seen elsewhere. The mouse becomes a lonely spectator as the keyboard takes complete command of the cursor.
Almost every year or two since that first encounter I have dipped my toe into the world of text editing with Vim. I’m usually inspired to make the return after I meet another Vim or Emacs wizard, usually a programmer who I’d see working their magic and composing the complex structured texts that benefit the most from this approach in a fraction of the time it might take me with a combination of keyboard, mouse and a regular word processor. But as I long suspected, it was not just programmers who could benefit from this powerful magic. One of my most recent encounters with Vim was at a THATCamp where I witnessed none other than our own ProfHacker Lincoln Mullen working his LaTeX necromancy on his laptop in Vim (he has talked about the power of simple text editors here before). When MacVim came out I was very excited, as it offered what seemed to be a decent compromise between the world of mice and modal but every year, within a few hours or days, I gave up and retreated to my GUI text editors and my mouse, frustrated at the beeps my computer barked at me every time I forgot what “mode” I was in.
That is, every year until now. Opening up my MacVim again, I went through the vimtutor to review the basics, played a bit of Vim Adventures to practice in a fun environment, read a few blog posts, flipped through some inspirational slides, watched some beautifully done screencasts, and browsed through a fantastic book of Vim tips. After two weeks of self-observation I think it is now safe to say that I’m completely hooked. I’m still slow, and it still takes a few teleports before I arrive at my target destination as I move about my text. My chords are still simple, and punctuated by awkward silence as I ponder my next move. However, I am starting to feel the weight of my hand as I lift it, ugggh, off the keyboard to grab the mouse. That click, hold, and drag thing I used to do to select text now seems so primitive all of a sudden and increasingly, when I am forced to drop back into a “modern” word processor to edit some document, it feels like being asked to swap a bicycle tire without tools.
Have you found text editors like Vim or Emacs (editor war partisans keep it civil!) useful for writing academic texts outside of the world of computer science? What features do you find the must useful and what aspects most frustrating? Are there ways to help make it fit better in the workflow of writing our articles and books?