バッファメニュー(buffer-menu)機能は 『バッファに対するdired』に似ています。 このコマンドは、バッファ一覧を収めたEmacsバッファを編集することで、 さまざまなEmacsバッファを操作できます。 バッファの保存、消去(ここではdiredとの一貫性のために削除と呼ぶ)、 表示を行うことができます。
コマンドbuffer-menu
は、
すべてのEmacsバッファの一覧をバッファ‘*Buffer List*’に書き、
そのバッファをバッファメニュー(buffer-menu)モードにして
選択します。
そのバッファは読み出し専用で、本節で述べる特別なコマンドでのみ変更できます。
普通のEmacsカーソル移動コマンドは、‘*Buffer List*’バッファでも使えます。
つぎにあげるコマンドは、現在行に書かれているバッファに作用します。
d、C-d、s、uコマンドは、 フラグを追加または削除して、1行下へ(あるいは上へ)移動します。 これらのコマンドは、反復回数として数引数を取ります。
つぎにあげるコマンドは、現在行に書かれているバッファにただちに作用します。
他のバッファや複数のバッファを選択するコマンドもあります。
buffer-menu
が直接行うことは、
適切なバッファを作成してそれに切り替えてから、
バッファメニュー(buffer-menu)モードにすることです。
それ以外の上に述べたことはすべて、
バッファメニュー(buffer-menu)モードが用意した特別なコマンドで
実装されています。
その結果、‘*Buffer List*’バッファから別のEmacsバッファへ切り替えて、
そこで編集できます。
あとで‘*Buffer List*’バッファをふたたび選択してすでに指示した操作を実行したり、
このバッファを削除したり、無視したりもできます。
buffer-menu
とlist-buffers
の唯一の違いは、
buffer-menu
は選択されたウィンドウで
‘*Buffer List*’バッファに切り替えることです。
list-buffers
は別のウィンドウにこのバッファを表示するだけです。
list-buffers
を実行し(つまり、C-x C-bと打つ)、
‘*Buffer List*’バッファを手動で選択すると、
ここに述べたすべてのコマンドを使えます。
バッファを作成したり削除したりしても、
バッファ‘*Buffer List*’は自動的に更新されません。
その内容はただのテキストにすぎません。
バッファを作成/削除/改名したら、
現在のバッファの状態を見るために‘*Buffer List*’を更新する方法は、
g(revert-buffer
)を打つか、
buffer-menu
コマンドを再度実行することです。