A list of vim key bindings, in approximate learning order for productivity. Highly opinionated.

Core movement and editing

You quickly get bored of pressing j and k a lot. Try these instead:

You quickly get bored of pressing h and l a lot. Try these instead:

W and B are the same as w and b but have a looser definition of what a word is.

$some_interesting_variable

This is three words and one WORD. A programmer is more interested in WORDS.

When C-d is too coarse and j is too fine, try:

Editing text

Try a as an alternative to i

Instead of going to the end of a line, entering insert mode, and adding a new line, try:

Sometimes it's useful to replace a single character.

Or fix the end of a line

As programmers, it's often useful to fix case issues quickly

Copy, cut, and paste

Instead of using your terminal to copy/paste, use vim

Try combing x and p to quickly swap two characters. Useful for tpyos.

Or start your searching in the opposite direction:

Selection

Try these out to get a feel for them.

Shape your selections using the same movement keys you already know.

Use y, d, and p to yank, delete, and paste selections.

It also works with r (replace entire selection with spaces**.

Move movement keys

It's useful to jump to the top/bottom of a file quickly

And jump to a specific line number

Not strictly movement, but very useful

More editing keys

Everyone makes mistakes

Change

vim's change is very flexible and will introduce the idea of combining actions with motions.

Try making a selection, and pressing c, to change everything you have selected.

You can also change i inside something

These don't just work with c, they also work with d and y.

And even v

Indenting

This works on a selection or just a single line.

Repeating commands

Prefix a command with a number to repeat it that many times

Use . to repeat the last character command.

Replace

You can also do this on a selection.

Macros

Multi-line insert

Working with buffers

Bonus

Here are some good-to-know-but-I-don't-personally-use-them-all-the-time keys