Я все больше расстраиваюсь, набрав это
:% S /some_really_long_string /some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / дс
Есть ли способ скопировать / вставить эти строки в режиме ex?
Я все больше расстраиваюсь, набрав это
:% S /some_really_long_string /some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / дс
Есть ли способ скопировать / вставить эти строки в режиме ex?
Вы можете использовать Ctrl-R для вставки значения регистра в командной строке Ex. Например, если вы вытянули какой-то текст в регистр по умолчанию, вы можете вызвать его с помощью Ctrl-R ".
Есть ярлыки для некоторых распространенных случаев. Вы можете вставить текущее слово под курсором с помощью Ctrl-R Ctrl-W или текущее имя файла с помощью Ctrl-R Ctrl-F.
Посмотрите эти темы для получения дополнительной информации, включая еще несколько примеров:
:help c_CTRL-R
:help cmdline.txt
О регистрах тоже стоит прочитать:
:help registers
Я почти всегда избегаю ввода строки поиска в команде замены, сначала выполняя поиск (с помощью /
) или "поиск слова под курсором" (с помощью *
), а затем выполняя:
:%s//other_string/gc
Если шаблон поиска отсутствует, команда замены будет использовать последний шаблон поиска.
Помимо того, что вы вводите меньше символов, первый случай, поиск с помощью /
, позволяет сначала протестировать сложный шаблон поиска перед выполнением подстановки. Второй случай, поиск с помощью *
, позволяет избежать вставки начального / конечного атомов, то есть \<
и \>
.
-
Кстати, вы можете избежать g
флага, добавив строку
set gdefault
в вашем файле vimrc
.