vimで複数ファイルを操作する
似たような(?)スクリプトをvimで編集するケースを考えたい.
今回,自分が考えている状況は,グラフを作るgnuplotのスクリプトが10種類くらいあって,各々output名とか軸ラベルは異なるけど,余白とかフォントとかは統一したい.余白を変えるのに10種類開いて変えたり,sed書いたりはめんどくさい.
前置きとして,まず複数ファイルをvimで開く
vim *.sh
または
vim a.sh b.sh c.sh
そうすると複数ファイルが開かれるので
:files
で一覧を見ることができる.おそらくa.cが最初に参照されているので
:n 次のファイルに進む
:N 前のファイルに戻る
3ctrl-^ 3番目のファイルに移動する
で移動とかができる.
---[備考]---
最初に開くときに
vim -o a.sh b.sh
とやるとウインドウ分割で開く.縦に割りたいときは-Oで.
-----------------
開くのは良いとして,本題として全ファイルのhogeをfugaに置換する話.
まずはどのファイルを対象にするのか
:args *.sh
どのファイルが対象になったか確認するには
:args
今回であればa.sh b.sh c.shが出るはず.
これに対して一括置換をやりたければ
:argdo %s/hoge/fuga/g | update
こんな感じ.別に置換じゃなくても実行出来ます.
参考URLは以下のとおり.