Синтаксис Greplace - PullRequest
       11

Синтаксис Greplace

2 голосов
/ 21 октября 2011

Я хочу изменить некоторые слова в нескольких файлах, используя VIM.Для этого я узнал о Greplace , который, похоже, создан именно для этого.Однако в документации отсутствует пример синтаксиса Greplace (есть пример Gsearch, но мне нужна функция replace).

Скажем, я хочу изменить "foo" на "bar" во всех файлах ".asp", как этого можно достичь с помощью Greplace (или любым другим способом).Меня не волнует подтверждение (хорошо, если требуется подтверждение; также хорошо, если нет).

1 Ответ

6 голосов
/ 21 октября 2011

Обойтись без выделенного плагина тривиально.

$ vim *.asp
:bufdo %s/foo/bar/ge | update
:q
  • :bufdo выполняет следующие команды для всех буферов.
  • %s/foo/bar/ge заменяет foo на bar на всехлинии и все вхождения в каждой строке.Флаг e гарантирует, что :s не выдаст ошибку, если не найдет foo, поскольку foo может существовать не во всех файлах.
  • | - это способ разделения нескольких команд в Vim.бежать.См. :help :bar
  • update Сохраняет файл обратно на диск, только если были внесены какие-либо изменения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...