「vim で、特定ファイル全部を、確認しながら置換する」の wrapper を書いた

vim で、特定ファイル全部を、確認しながら置換する - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech

これほんと追い求めてました。

ただ **/*.pm の部分で指定したファイルの内、置換対象のファイルが少ないと、無駄に遅く、"-- More --" とか出てきてしまっていらいらすることになります。これを解消するために grep で置換対象に絞ってから Vim に渡すというスクリプトを書いてみました。こんなスクリプト書かなくても回避する方法があれば教えていただけるとうれしいです。

vim -c "argdo %s/FooBar/BarBaz/gce | update" **/*.pm

これと同じ動作をするには

gresreg -cu FooBar BarBaz **/*.pm

となります。abolish.vimにもかなり適当ですが対応。*1


*1:コマンド名はもちろん xyzzy から