Vimで複数ファイルに対して、操作をする方法を紹介します。 引数リストに対象のファイルを格納し、:argdoでそれらにExコマンドを実行して実現します。

引数リスト

Vimを起動する際に渡した引数が、引数リストに記録されます。 このリストは変更可能です。 よく使うコマンドは以下です。 (詳しくは、:help arglistを参照してください。)

1. 確認

:argsでそれらを表示できます。

$ vim a.txt

:args
=> a.txt

2. 変更

:argsに引数を渡すと、それらが引数リストになります。

:args a.txt

:args
=> a.txt

引数は複数個でもOK。

:args a.txt b.txt

:args
=> a.txt b.txt

*(ワイルドカード)も使えます。

:args *.txt

:args
=> a.txt b.txt c.txt

3. 追加

:argaddで引数で渡したファイルを、引数リストに追加できます。

:args
=> a.txt

:argadd b.txt

:args
=> a.txt b.txt

4. 削除

:argdeleteで引数で渡したファイルを、引数リストから削除できます。

:args
=> a.txt b.txt c.txt

:argdelete b.txt

:args
=> a.txt c.txt

引数リストに対してExコマンドを実行

:argdoで、引数リスト中の各要素にExコマンドを実行できます。

以下では、引数リストにある各要素に対して、
1. aiueoをAIUEOに置換
2. updateコマンドでファイルを保存
しています。

:argdo %s/aiueo/AIUEO/g | update

fzfでセット

ファイルの指定が面倒な場合は、fzfと利用すると良さそうです。
こんな感じに簡単に指定できました。
詳しくはこちらの記事へ。