How do I specify "the word under the cursor" on VIM's commandline?

Nathan Fellman picture Nathan Fellman · Sep 7, 2008 · Viewed 28.9k times · Source

I want to write a command that specifies "the word under the cursor" in VIM. For instance, let's say I have the cursor on a word and I make it appear twice. For instance, if the word is "abc" and I want "abcabc" then I could type:

:s/\(abc\)/\1\1/

But then I'd like to be able to move the cursor to "def" and use the same command to change it to "defdef":

:s/\(def\)/\1\1/

How can I write the command in the commandline so that it does this?

:s/\(*whatever is under the commandline*\)/\1\1

Answer

César Alforde picture César Alforde · Mar 10, 2009

While in command-line mode, CTRL+R CTRL+W will insert the word under the cursor.

See the help for c_CTRL-R for a listing of all the other special registers:

:help c_CTRL-R