1

Вот ситуация, например, у меня есть несколько строк, как это:

foo test foo

Я искал "foo" с помощью "/", и все два "foo" выше выделены. А теперь я хочу заменить "foo" чем-то другим, например "lee";

Теперь, поскольку системный буфер обмена уже занят "lee", я не хочу копировать "foo" с помощью ctrl+C в командную строку, чтобы завершить процесс копирования и замены.

Теперь у меня вопрос, как скопировать выделенный текст "foo" после поиска непосредственно в командную строку с помощью некоторого ярлыка (если есть)?

3 ответа3

4

Вы можете заменить то, что вы искали последним, этой командой

:%s//lee/g

Итак, предположив, что вы искали foo с помощью /foo вы запускаете :%s//lee/g чтобы заменить foo на lee.

Нашел это здесь - http://vim.wikia.com/wiki/Search_and_replace

0

Лоуренс прибил его, но вы можете использовать команду gn чтобы восстановить текущий матч:

vgny

Или, если вы хотите вставить текущее слово:

<C-r><C-w>
0

Помните, что каждый раз, когда вы выполняете поиск, он копируется в регистр: "/ (легко запомнить)

Чтобы вставить свой шаблон поиска:

в обычном режиме нажмите "/p

в режиме вставки нажмите <C-r>/

в командной строке нажмите <C-r>/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .