Vim: Ag поиск и замена, глобально и внутри каталога
Я использую: Ag в vim для поиска шаблонов, но я не могу понять, как искать и заменять все файлы в моем проекте или непосредственно в том, что я указываю. Как это делается?
2 ответов
в Vim, по всему проекту поиск и заменить в лучшем случае в два этапа, если вы установите плагин, который абстрагирует эти два шага для вас, как EasyGrep.
в своей самой основной форме поиск/замена в рамках проекта выглядит следующим образом:
:args `grep -nl foo *.js`
:argdo %s/foo/bar/c
это не поможет вам много с :Ag, хотя, потому что Vim не имеет встроенной команды, подобной :*do семья, которая работает на quickfix список.
Дрю Нил имеет пару скринкастов,здесь и здесь, что дело с проектом-широкий поиск / замена. The :Qfdo команда, упомянутая в нижней части второго поста, специально ориентирована на :vimgrep/:Ack/:Ag пользователи. С команда и :Ag, двухэтапный процесс становится:
:Ag foo
:Qfdo s/foo/bar/c
-- EDIT --
ВИМ теперь :cdo, :cfdo, :ldo, :lfdo.
на vim, есть несколько решений, но вы должны открыть все файлы, чтобы иметь возможность сделать это. Вы можете открывать файлы в разных окнах, буферах или вкладках, и для всех параметров у вас есть способ работы со всеми файлами:
:windo :Ag
или
:bufdo :Ag
или
:tabdo :Ag
посмотреть :help windows, :help buffers или :help tab-page-commands для получения дополнительной информации.