Инкрементальный поиск Vim во время замены - PullRequest
10 голосов
/ 30 ноября 2011

Я ужасно пишу регулярные выражения vim. Всякий раз, когда я пишу один для подстановки, он никогда не работает с первого раза, потому что я неизбежно заканчиваю тем, что пишу что-то на Perl вместо vim. Я чувствую себя намного лучше, когда выполняю простой поиск, потому что у меня включен incsearch, и я могу видеть в режиме реального времени, соответствует ли мой шаблон.

Есть ли способ заставить команду s действовать как / (выполнять инкрементный поиск), пока я пытаюсь написать правильный шаблон?

Ответы [ 2 ]

19 голосов
/ 30 ноября 2011

Я не уверен, но я думаю, что нет способа сделать это. Кстати, я использую небольшой трюк, чтобы ускорить мои замены. Если вы делаете что-то вроде:

:%s//bar

в командной строке Vim будет использовать ваш последний поиск. Так что это не совсем то, что вам нужно, но все же способ немного увеличить вашу скорость, делая замены.

3 голосов
/ 01 декабря 2011

Вы можете попробовать этот маленький трюк, чтобы скомпоновать ваш шаблон поиска, используя incsearch, а затем скопировать шаблон в подстановку командной строки:

  1. Создать шаблон, используя обычный режим / ...шаблоны совпадают.Последний шаблон будет сохранен в регистре @ /.

  2. Перейдите в режим командной строки и введите эту неполную строку: :%s/

  3. Теперь нажмите эти клавиши: <c-r>=@/ Это скопирует последний шаблон поиска в команду замены, которую вы пишете.(<c-r> нажимает клавишу control-r, не вводя символы.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...