Monday, January 29, 2007

Contemplating ViM

A conversation with a colleague got me interested in ViM once again.  I've used ViM on and off for a few years now but never gotten really adept at using it.  For those that don't know, ViM stands for Vi Improved and Vi is one of the two dominant text editors in the *nix world (the other being emacs).  Vi was written by Bill Joy.  It is hard to learn but very powerful once you put in the time.  ViM is the most popular of the modern incarnations of that editor.  I may have to dust off my installation and try to master it once again.  In my newfound interest, I located a few things which I thought I'd pass on.

First off, I figured out a good way to get the 64-bit version of ViM installed on a x64 Vista.  You can install the 32-bit version but tell it to go to the x64 "program files" directory on install.  This will set up all of the shortcuts and shell extensions will later need.  Then you download the x64 build of ViM from here.  Finally, you just unzip the contents of that package over the top of the previously installed ViM.  Done.  So far it seems to work fine.

Next, I found a few useful documents to help me get back into the habit.  The first is this graphical cheat sheet.  It's a bit hard to print as I had to download Inkscape and play with the size a bit.  Once printed though, it is a great way to quickly find the needed keystrokes to accomplish most tasks.  The most frustrating part about using ViM is knowing what you want to do but being unable to locate the right keystrokes.

I also ran across this tutorial called Efficient Editing with ViM that laid out the key ViM instructions better than most.  I've read a lot of ViM tutorials and they tend to be hard to follow.  They probalby make sense if you already understand ViM but they are hard to approach as an outsider.  This one does the job better than most.  Either that or I'm an insider now...

Finally, I've been hearing good things about ViEmu which is a ViM-like editor which works inside Visual Studio.  No longer is one required to give up Intellisense to edit code efficiently.  I haven't tried it yet but I'm about to.


  1. Why? In God's name, WHY?
    Before you do anything, ask yourself - "what problem am I trying to solve here?".

  2. Note that some of the keystrokes in that are not correct for Windows versions, ie <C-V> in that becomes <C-Q>. Other than that it's a pretty good basic tutorial.
    The tips section at is excellent.

  3. Notepad is the only editor you need!  Especially when you can only type at 10wpm like me.