Vimのバッファ削除にもいろいろ

Vim のヘルプを眺めていたら、バッファ削除コマンドに複数の種類のものがあることを初めて知った。今までは :bd だけを使っていたので、それぞれの特性をよく知って、使い分けてみたい。

:bd[elete][!] [N]


バッファ[N](デフォルト: カレントバッファ)をメモリから取り除き、バッファリストから削除する。
(略)
実際は、バッファは完全に削除されていない。バッファリストから削除され、バッファに対するオプションの値、変数、マッピング・略語が消去される。

*windows.txt* For Vim バージョン 7.1.

:[N]bw[ipeout][!]
:bw[ipeout][!] {bufname}
:N,Mbw[ipeout][!]
:bw[ipeout][!] N1 N2 ...

bdelete に似ているが、
#FF0000;">本当にバッファを削除する。このバッファに関するすべてが失われる。例えば、このバッファ中のすべてのマークが無効になり、オプション設定が失われるなど。このことの意味がわからなければ使わないこと。

*windows.txt* For Vim バージョン 7.1.

:[N]bun[load][!]
:bun[load][!] [N]


バッファ[N] (デフォルト:カレントバッファ)をメモリから取り除く。このバッファに割り当てられたメモリ領域を解放する。バッファはバッファリストには残る
(略)

*windows.txt* For Vim バージョン 7.1.

特に気をつけるべきは、:bd ではバッファが完全に削除されない件。:ls で表示されるバッファリストからは削除されるが、:ls! では表示される。

なので、一度 :bd で消したバッファをもう一度表示したい場合、 :ls! でそのバッファのナンバー N を確認して、 :bd N で開いたりすることができるわけだ。