Как мне скопировать / вставить в режиме VIM EX

10

Я все больше расстраиваюсь, набрав это

:% S / some_really_long_string / some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / дс

Есть ли способ скопировать / вставить эти строки в режиме ex?

iakie
источник

Ответы:

10

Вы можете использовать Ctrl-Rдля вставки значения регистра в командной строке Ex. Например, если вы набрали какой-то текст в регистр по умолчанию, вы можете вызвать его с помощью Ctrl-R".

Есть ярлыки для некоторых распространенных случаев. Вы можете вставить текущее слово под курсором с помощью Ctrl-RCtrl-Wили текущее имя файла с помощью Ctrl-RCtrl-F.

Посмотрите эти темы для получения дополнительной информации, включая еще несколько примеров:

:help c_CTRL-R
:help cmdline.txt

О регистрах тоже стоит прочитать:

:help registers
Билл Одом
источник
Я думал, Ctrl-Rчто вам нужно сделать смену, чтобы получить капитал R. но когда я попробовал, тебе просто нужно ctrl-rбез смены.
Тревор Бойд Смит
10

Я почти всегда избегаю ввода строки поиска в команде замены, сначала выполняя поиск (с помощью /) или «поиск слова под курсором» (с *), а затем выполняя:

:%s//other_string/gc

Если шаблон поиска отсутствует, команда замены будет использовать последний шаблон поиска.

Помимо того, что вы вводите меньше символов, первый случай, поиск с помощью /, позволяет сначала проверить сложный шаблон поиска перед выполнением подстановки. Второй случай, поиск с *, позволяет избежать вставок начала / окончания атомов, то есть \<и \>.

-

Кстати, вы можете избежать gфлага, добавив строку

set gdefault

в вашем vimrcфайле.

mrucci
источник