Подтвердить что ты не робот

Как искать в каталоге файлов в vim?

Общая задача программирования для меня в vim:

:s/some pattern/

выполните некоторую работу

n # находит следующую запись

выполните некоторую работу

n # находит следующую запись ...

Теперь s/.... выполняет поиск только в текущем файле.

Есть ли способ сделать это, но искать через каталог файлов? Скажите "s/..../" по всем файлам в подкаталогах pwd, которые заканчиваются на .hpp из .cpp?

Спасибо!

4b9b3361

Ответ 1

Вы можете просто использовать команду :grep: или для более полной интеграции инструментов поиска используйте расширение grep.vim.

Просто введите :help grep, чтобы получить хорошую документацию о том, что доступно из коробки в Vim. Использование :grep foo *.?pp должно делать то, что вы хотите. Это откроет список QuickFix, как и тот, который вы используете с помощью :make, что позволяет перейти к найденным вхождениям.

Ответ 2

:help windo
:help bufdo
man find
man xargs

find ./start/point -iname "*.cpp" -print0 | xargs -0 vim
:bufdo s/baar/foo/gc
:wall
:qall

gc "global confirm", wall (написать все), qall (совершенно все). Чтобы просмотреть список файлов: ls top перейти к следующему файлу: wn (написать далее) или: bn (следующий буфер). Кстати, xargs управляет большими кусками файла в памяти, чтобы доставить vim withou erros.