Three Vim "epiphanies"

A former colleague of mine was asking for advice on what to cover in a 5-minute lightning talk he’s giving on Vim at his new place of work.

I figured the three points I shared with him are worth sharing here as well.

For me there are three main "epiphanies" that I think all/most Vim users have to go through, and I’d try to give one example of each:

  1. Vim explicitly optimizes for the kinds of things you find yourself doing literally dozens or even hundreds of time a day when editing code (for example o and O to "open" a new line of code for editing below or above the current line); in other editors you find yourself doing extraneous things that aren’t actually directly related to the thing you’re wanting to do (in the current example, you do things like Command-Right to jump to the end of the current line, and then hit Enter to actually do you what you want).
  2. Almost all of this can be remembered using mnemonic tricks (eg. cit -> "change inside tag" etc) or via intuition (eg. uppercase version of some key usually does the logical extension or opposite of the lowercase version).
  3. It’s all composable; once you’ve grokked the general pattern of repeat counts, verbs and motions, you can assemble together operations to do some very powerful things without having to individually learn all the permutations.

I like your idea of giving a demo of some lightning quick text editing as a motivating show case of why this is all worth learning. I don’t think it’s even worth explaining how you did it (you can point them at your cheatsheet at the end); it’s really just to give them a motivating example showing that all of this is actually worth learning.

There is, of course, more to it than all that, but I think that’s the core of it. Check out other items tagged with "vim" if you want to read more of my gushing enthusiasm about Vim.