VIM: использовать инкрементальный поиск для замены файла - PullRequest
4 голосов
/ 13 октября 2011

Я знаю, что настройка incsearch определяет, как поиск в vim подсвечивается при вводе.Я хотел бы иметь такой же инкрементальный поиск и выделение при использовании команды замены (:%s/foo/bar/)

Ответы [ 2 ]

9 голосов
/ 13 октября 2011

Самый простой способ сделать это - выполнить поиск как обычно, используя 'incsearch', чтобы убедиться, что шаблон соответствует желаемому.Получив это, вы можете либо

  • Не указывать шаблон поиска в :%s//bar/.Если шаблон поиска не указан, используется текущее значение регистра /, который будет только что выполненным поиском.
  • Вставьте шаблон поиска в команду :s, используя Ctrl + r / (см. :help c_ctrl-r) или Ctrl + r Ctrl + o / (если поиск содержит управляющие символы, такие как ^H).Это полезно, если вы хотите внести последние изменения в шаблон или если вы хотите, чтобы он был в истории команд, чтобы вы могли использовать его даже после выполнения другого поиска.
5 голосов
/ 13 октября 2011

Вы можете добавить c в конце вашей команды так:

:%s/foo/bar/c

Он пройдет через все случаи foo и запросит у вас подтверждение (это то, что означает c), прежде чем изменить его на bar.

Хотя это не совсем то, что вам нужно.

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