Posted at

`c_CTRL-A`で、指定したパターンにマッチするバッファを削除する

More than 3 years have passed since last update.

c_CTRL-A は、cmdline 中で <C-a> を叩くという意味です。

これを利用することで、入力したパターンにマッチしたバッファを削除することができます。

通常、バッファを削除するための :bdelete 等のコマンドは、bdelete 1 2 3 ...のように、バッファ番号を列挙するか、bdelete a.txt b.txtのようにバッファ名を個別に列挙しなければなりません。

ただ、実際に使っている時によくあるのは、特定の拡張子をバッファリストから削除したい、とか、特定のディレクトリ以下のバッファを削除したい、とか、そういうパターンです。

こういうとき、c_CTRL-Aを活用できます。

拡張子毎(たとえば '*.log`)にまとめてバッファを削除したい場合には、

bd log/*.log

ここまで入力して、<C-a> を押すと、ワイルドカードにマッチした内容に置き換えることができます。

bd log/2015-04-01_001.log log/2015-04-01_002.log ...

:bdelete 自体はワイルドカードによる展開はしませんが、こうすることで、簡単に複数バッファを削除できます。

(もちろん、バッファ番号を憶えているような人には不要ですねー)