DEV Community

Cover image for Vim Replace Visual Star
Waylon Walker
Waylon Walker

Posted on • Originally published at waylonwalker.com

Vim Replace Visual Star

Replacing text based on whats in the current search register is a quite handy tool that I use often. I believe I picked this tip up from Nic Janetakis, check out his YouTube channel for some amazing vim tips.

If there is one thing that I Like most about vim it's the ability to hack on it and make it work well for you.

Replacing text in vim

Vim can often be a bit verbose, but that's ok because we can hack on it, and make our own shortcuts and keybindings. For instance, finding and replacing text requires using a command at the vim command-line :. Replacing foo with
bar looks like this :%s/foo/bar/g, the final g means all of the foos, not just the first one on the line.

making it better

I have a keybinding in my init.vim that will allow me to search for a pattern with the usual / character, page through them as normal with n and N, but when I press <C-R> it will populate the replace command for me so that all I need to do is type out the new text.

nnoremap <c-r> :%s/<C-R>///g<Left><Left>
Enter fullscreen mode Exit fullscreen mode

Note on the <C-R>/

In command mode : vim allows you to paste any text from any register into the current command. The <C-R>/ will paste the text from the current search register into the command.

<C-R> in command mode can paste text from any register, you can see what registers are in use with the :reg command. There are a lot of them and many get populated automatically as you yank text or create macros.

Also see how to use to save macros to key bindings easily

Top comments (3)

Collapse
 
pianocomposer321 profile image
pianocomposer321

If you leave the pattern to search for out, vim will automatically re-use the "/ register. So your binding could be shortened to:

nnoremap <c-r> :%s///g<Left><Left>
Enter fullscreen mode Exit fullscreen mode

Since vim makes this so easy, I don't map this to anything myself.

Collapse
 
waylonwalker profile image
Waylon Walker

You just blew my mind, and have saved me many future keystrokes.

Collapse
 
pianocomposer321 profile image
pianocomposer321

Glad I could be of help!