Vim: Найти и заменить в большом проекте? - PullRequest
5 голосов
/ 03 марта 2012

Существует способ заменить все вхождения строки в файлах в Vim , используя комбинацию args и argdo . К сожалению, у этого решения есть недостаток: оно откроет все файлы, которые могут быть проблемой для больших проектов. Кто-нибудь знает более компактный и эффективный способ памяти?

Ответы [ 2 ]

6 голосов
/ 03 марта 2012
find projectfolder -type f -exec grep -Iq 'pattern' {} \; -exec vim {} +
3 голосов
/ 04 марта 2012

Вот как я это делаю (когда я не использую perl):

find . -name '*.java' -exec vim +'%s/OldName/NewName/gc' +'wq' {} \;

т.е. замените «OldName» на «NewName» во всех файлах «* .java», но подскажите мнедля подтверждения каждой замены.

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