A Love Letter to VIM

Despite its hideous logo, VIM is a fantastic editor. VIM gets a kiss of death from HCI: it’s modal, has a steep learning curve and requires mental & muscle memory. Whenever I praise it around HCI folk, they crinkle their noses. But it’s an expert interface. Although I learned it many years ago, way before I knew anything about HCI, here’s 3 reasons I still love it:

  1. It minimizes programmer energy. VIM never makes you take your hands off the keyboard! I cannot say this enough. You never have to take your hands off the keyboard! An IDE like Eclipse will do lots of fancy stuff for you, but you have to click-click-click. It’s horrible. You should spend 95% of your time on the keyboard, not clicking. Time clicking is time not coding.
  2. It rocks on data files. I often have complex data files that I need to hack up in some structured way. Like, find the second ::, delete from there until the next !. Repeat 10,000 times. The only other way is often a script. VIM solves this problem quickly and indulges my inner laziness.
  3. It’s everywhere and needs only 2MB of memory. My app should need 300MB of memory, not my editor. Couple this with the fact that it’s standard on every *nix box (OS X too) and you’ve got a strong reason to give it try.

This was posted Apr 24th, 2009 at 10:51 am and is filed under misc, design, tactics. You can comment on this post or trackback from your own site.

5 comments

  1. vim! « Scott Golder

    […] Posted by scottgolder on April 24, 2009 Eric Gilbert posts about his love of Vim. I don’t have much to add, besides “me too”. […]

  2. Jo

    Not a single word of what you wrote above makes a bit of sense to me. This makes me laugh.

  3. Tackleton

    I like point 1, but I disagree with point 3. That it takes 2MB is irrelevant: Space is free. Every new computer comes with gobs of RAM. If the 300MB/RAM editor is faster than the 2MB/RAM editor, we win.

    If it’s 300MB and slow (ahem, Eclipse), then we have a problem. :)

    Anyway, vim > emacs. It’s a great quick editor. For multiple files, though, I like a text editor with a GUI (like, a good one, not an afterthought like GVim).

  4. mr X.

    Most people spend more time reading code than writing it.
    At least if they are doing it right.

  5. Drago

    not sure why someone would still use vim given that emacs has been the overwhelmingly superior app for the last 20 years.

leave a reply …