14

I'm increasingly frustrated by typing this

:%s/some_really_long_string/some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one/gc

Is there any way to copy/paste those strings in ex mode?

2 Answers 2

13

You can use Ctrl-R to insert the value of a register on the Ex command line. If you've yanked some text into the default register, for example, you can recall it with Ctrl-R".

There are shortcuts for some common cases, too. You can insert the current word under the cursor with Ctrl-RCtrl-W, or the current filename with Ctrl-RCtrl-F.

See these topics for more information, including several more examples:

:help c_CTRL-R
:help cmdline.txt

Registers are worth reading about, too:

:help registers
1
  • i thought Ctrl-R meant you needed to do shift to get the capital R. but when i tried it out you just need ctrl-r without shift. Nov 13, 2018 at 12:51
10

I almost always avoid typing the search string in the substitute command by first executing a search (with /) or a "word under cursor search" (with *) and then executing:

:%s//other_string/gc

When the search pattern is missing, the substitute command will use the last search pattern.

Beside making you type less characters, the first case, searching with /, allow to first test a complex search pattern before executing the substitution. The second case, searching with *, allow to avoid inserting the start/end atoms, i.e. \< and \>.

--

By the way, you can avoid the g flag by adding the line

set gdefault

in your vimrc file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.