GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Buffer.html ・ emacs-doc.conao3.com

21.4 バッファの破棄

Emacsのセッションをしばらく続けていると、大量のバッファが蓄積されることがあります。その際、不要になったバッファをkillすると便利でしょう。(他のエディタではこの操作をcloseと呼び、バッファを「閉じる」あるいはバッファで参照していた「ファイルを閉じる」といった表現を用いることがあります。)ほとんどのオペレーティングシステムでは、バッファをkillすると、Emacsがそのバッファに使用していたメモリがオペレーティングシステムに解放され、他のプログラムで利用できるようになります。以下に、バッファをkillするためのコマンドをいくつか挙げます。

C-x k buffer RET

バッファ buffer (kill-buffer) を削除。

M-x kill-some-buffers

各バッファを一つずつ削除することを提案する。

M-x kill-matching-buffers

正規表現に一致するすべてのバッファを消去するオファー。

M-x kill-matching-buffers-no-ask

kill-matching-buffersと同様だが、確認は求めないこと。

C-x k (kill-buffer) は、ミニバッファで指定した名前のバッファを1つ破棄します。ミニバッファに単に RET と入力した場合に適用されるデフォルトの動作は、現在のバッファを破棄することです。現在のバッファを破棄すると、別のバッファが現在のバッファになります。それは、直近では現在のバッファであったが、現在はいずれのウィンドウにも表示されていないバッファです。変更が加えられたファイル閲覧用バッファの破棄を指示する場合は、バッファが破棄される前に yes で確認する必要があります。

コマンド M-x kill-some-buffers は、各バッファについて一つずつ問い合わせます。yes と回答すると、kill-buffer と同様にそのバッファを破棄します。このコマンドは、Emacs が内部的に使用している、名前がスペースで始まるバッファを無視します。

コマンド M-x kill-matching-buffers は正規表現の入力を求め、その正規表現に一致する名前を持つすべてのバッファを消去します。正規表現の構文を参照してください。kill-some-buffers と同様に、各バッファを消去する前に確認を求めます。このコマンドは通常、Emacs が内部的に使用している、名前がスペースで始まるバッファを無視します。内部バッファも消去するには、プレフィックス引数を指定して kill-matching-buffers を呼び出してください。コマンド M-x kill-matching-buffers-no-ask は kill-matching-buffers と同様に動作しますが、一致する各バッファを消去する前に確認を求めません。

バッファメニュー機能は、さまざまなバッファを終了させる際にも便利です。複数のバッファの操作を参照してください。

バッファが破棄されるたびに何か特別な処理を行いたい場合は、フック kill-buffer-hook にフック関数を追加できます(フック を参照)。

多くの人がそうしているように、数日間にわたって1つのEmacsセッションを起動し続けると、数日前に使用したバッファで溢れてしまうことがあります。コマンド M-x clean-buffer-list は、これらを消去するのに便利な方法であり、長期間使用されていない未変更のバッファをすべて破棄します。通常のバッファは、3日間表示されていない場合に破棄されます。ただし、絶対に自動的に破棄すべきではない特定のバッファや、わずか1時間未使用だっただけで破棄すべきバッファを指定することも可能です。これらのデフォルト設定や、このコマンドの動作に関するその他の側面は、clean-buffer-list のドキュメント文字列に記載されているいくつかのオプションをカスタマイズすることで制御できます。

また、「Midnightモード」を有効にすることで、このバッファのパージを1日1回実行させることも可能です。Midnightモードは毎日深夜0時に動作し、そのタイミングでclean-buffer-list、または通常のフックmidnight-hookに配置した関数(フックを参照)を実行します。Midnightモードを有効にするには、「カスタマイズバッファ」を使用して変数midnight-modeにtを設定してください。簡易カスタマイズインターフェースを参照してください。