10

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

:% S /some_really_long_string /some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / дс

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

2 ответа2

10

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

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

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

:help c_CTRL-R
:help cmdline.txt

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

:help registers
9

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

:%s//other_string/gc

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

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

-

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

set gdefault

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

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