Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

up vote 8 down vote accepted

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
share|improve this answer

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. Why this is not the default is question on his own.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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