- ベストアンサー
viエディタ 複数ファイルの一括編集
複数のファイルを開ける事は知ってますが、全部一括して同じ編集操作、具体的には文字列置換をしたいのです。どうすればいいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そういう場合は、viではなく、perlなんかを使うのが簡単です。 % perl -i.bak -pe 's/foo/bar/g' *.txt とかすると、対象ファイル全てが置換されます。 (元のファイルは、.bakが付いたファイル名でバックアップが残ります)
その他の回答 (2)
- mekanik
- ベストアンサー率26% (4/15)
回答No.3
こんにちは。 参考までに、僕がよくやるのは、 とりあえず、複数ファイルを開いたら、、 たとえば、aaa を bbb に変換したいとき、 :%s/aaa/bbb/ で、最初のファイルの置換をし、 :wn で次のファイルへ行きますが、 それ以降のファイルでは、 :%s のみで同様の変換が行われます。 また、同様の処理を、一つずつ確認しながら行う場合、 複数ファイルを開き、 /aaa で対象文字を検索し、 cwbbb[ESC] n. n. n. と確認しながら置換。 終わったら、 :wn で次のファイルへ行き、 そこからは、 n. のみで同様の置換をします。 ちなみに freebsd で jvim3 というものを使用して できることです。 他の vi でできるかはちょっとわかりません。
- bakansky
- ベストアンサー率48% (3502/7245)
回答No.1
私の回答ではないのですが、検索したら下記のページがヒットしました。 「Vimで複数ファイルをまとめて編集する」というタイトルです。 → http://archiva.jp/web/tool/vim_grep.html