Инкрементный поиск Vim при замещении
Я ужасен при написании регулярных выражений vim. Всякий раз, когда я пишу его для подстановки, он никогда не срабатывает в первый раз, потому что я неизбежно заканчиваю тем, что пишу что-то Perl вместо vim. При выполнении простого поиска мне намного лучше, потому что у меня включен incsearch
, и я вижу в реальном времени, соответствует ли мой шаблон.
Есть ли способ, которым я могу заставить команду s действовать как/(выполнение инкрементного поиска), пока я пытаюсь написать правильный шаблон?
Ответы
Ответ 1
Я не уверен, но я думаю, что нет способа сделать это. Кстати, я использую небольшой трюк, чтобы ускорить мои замены. Если вы сделаете что-то вроде:
:%s//bar
в командной строке Vim будет использовать ваш последний поиск. Таким образом, это не совсем то, что вам нужно, но все же способ увеличить скорость выполнения заметок.
Ответ 2
Вы можете попробовать этот маленький трюк, чтобы составить свой шаблон поиска, используя incsearch, а затем скопировать шаблон в замену командной строки:
-
Составить шаблон, используя обычный режим /...
Вы можете видеть, что ваши шаблоны совпадают.
Последний шаблон будет сохранен в регистре @/.
-
Перейдите в режим командной строки и введите эту частичную строку: :%s/
-
Теперь нажмите эти клавиши: <c-r>[email protected]/
Это скопирует последний шаблон поиска в
замените команду, которую вы пишете. (<c-r>
нажимает клавишу управления-r, а не набирает символы.)