ファイル内テキストの置換
:argadd **/*
:argdo %s/old/new/gc
g ・・・ 全体指定
c ・・・ 確認
これを実行した際、writeされていなかったので
下記を実行して全ファイル上書きした。
:bufdo w
または、
:bufdo %s/old/new/g | w
推奨
下記コマンドで変更があったファイルのみ上書きされる ( Layzie様よりご指摘頂きました ) 。
:argdo %s/old/new/gc | up
ディレクトリ名、ファイル名の置換
\find . -name *old* | vim -
:%s/.*/\="mv -i ".submatch(0)." ".substitute(submatch(0), "old", "new", "g")/g
:w !sh
注意: .git/ も入ってるので削除してから:w !sh
をしないと大変なことなります。
備考
cオプションをつけたか分からないが、下記のように出た際、矢印キーを下かenter押し続けないと進まなかった・・・-- More --