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:
- 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.
- 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.
- 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.