Vimで複数ファイルの文字列を一括で置換する方法
コマンドモード で以下のように操作を行う。
準備として大文字小文字の区別設定をonにした方が良さそう。
code:コマンドモード
:set noic
code: vim コマンドモード
:arg **/*.py
これでカレントディレクトリ以下のファイル、ディレクトリを含めて対象のファイルをvimのバッファに追加する。
**とすることでカレントディレクトリ 以下のディレクトリも再帰的に探索してくれる。
code: vim コマンドモード
:argdo %s/oldWord/newWord/ge | update
バッファに追加されたファイル内の文字列を一括で置換している。(バッファに追加されたファイルを確認する方法は:argsコマンドを使う)
updateはバッファが変更された時のみファイルを保存するもの。
置換のeオプションは空振りエラーを無視するもの。
e 検索パターンが何もマッチしなかったとき、エラーメッセージを表示しない。