What's the vim way to select multiple instances of current word and change them?

I use the *, gn, and the . to make changes.

  • Select current word with * (go back with N)
  • Change word with gn motion. e.g. cgnfoo<esc>
  • Repeat via . command

Note: If you have many changes then using a substitution command would probably be better.

There is a nice Vimcasts episode about the gn motion: Operating on search matches using gn.

For more help see:

:h *
:h gn
:h .

You can record macros in Vim by pressing q<letter>. Macros can include the n command to search for the next instance of a word. You can also go into insert mode while recording (e.g. using the c command with a motion such as iw to replace the current word). Press q to stop recording, and then press @<letter> to replay the macro once. After that, you can use @@ to repeat the macro as many times as you like.