体力,気力,ときどき知力

情報系HPC大学院生の日頃のメモなど.intel CPU, SIMD, AVX, vim, Linux,簡単なことから書きはじめてみたBlog

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は以下のとおり.

http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace