Существует способ заменить все вхождения строки в файлах в Vim , используя комбинацию args и argdo . К сожалению, у этого решения есть недостаток: оно откроет все файлы, которые могут быть проблемой для больших проектов. Кто-нибудь знает более компактный и эффективный способ памяти?
find projectfolder -type f -exec grep -Iq 'pattern' {} \; -exec vim {} +
Вот как я это делаю (когда я не использую perl):
perl
find . -name '*.java' -exec vim +'%s/OldName/NewName/gc' +'wq' {} \;
т.е. замените «OldName» на «NewName» во всех файлах «* .java», но подскажите мнедля подтверждения каждой замены.