しばらくの間、Emacsセッションを続けていると、多くのバッファーが溜まってしまう場合があります。必要のないバッファーをkillしたほうがよいと思うかもしれません(他のエディターではこの操作をclose(閉じる)と呼び、“バッファーを閉じる”とか、ファイルをvisitしているバッファーでは“ファイルを閉じる”のように表現するものもあります)。ほとんどのオペレーティングシステムでは、バッファーをkillすることにより、バッファーのためにEmacsが使用していたメモリーをオペレーティングシステムに解放するので、他のプログラムがそれを使えるようになります。以下はバッファーをkillするコマンドです:
バッファーbufferをkillします(kill-buffer
)。
バッファーを1つずつkillするか尋ねます。
正規表現にマッチするすべてのバッファーをkillするか尋ねます。
Like kill-matching-buffers
, but don’t ask for confirmation.
C-x k
(kill-buffer
)は、ミニバッファーで指定した名前のバッファーを1つkillします。RETだけをタイプしたときはデフォルトが使われ、これはカレントバッファーをkillします。カレントバッファーをkillすると、最近カレントだったが、今は別のウィンドウにも表示されていないバッファーがカレントになります。ファイルをvisitしているバッファーが変更されているとき、それをkillしようとすると確認を求められます。そのバッファーをkillする前に、確認にyesを応えなければkillできません。
コマンドM-x
kill-some-buffersは、各バッファーについて1つずつ確認を求めます。yesと応えると、kill-buffer
と同様にバッファーをkillすることを意味します。このコマンドは名前がスペースで始まる、Emacsが内部的に使用するバッファーは無視します。
The command M-x kill-matching-buffers prompts for a regular expression
and kills all buffers whose names match that expression. See 正規表現の構文.
Like kill-some-buffers
, it asks for confirmation before each kill.
This command normally ignores buffers whose names begin with a space, which
are used internally by Emacs. To kill internal buffers as well, call
kill-matching-buffers
with a prefix argument. The command
M-x kill-matching-buffers-no-ask works like
kill-matching-buffers
, but doesn’t ask for confirmation before
killing each matching buffer.
さまざまなバッファーをkillするにはBuffer Menu機能も便利です。複数バッファーにたいする操作を参照してください。
バッファーがkillされるときに特別な処理を行いたい場合、フックkill-buffer-hook
にフック関数を追加できます(フックを参照してください)。
(多くの人がそうしているように)何日間も1つのEmacsセッションを使っていると、何日か前に使ったバッファーが溜まってくるかもしれません。コマンドM-x
clean-buffer-listは、それらを一掃するのに便利です。これは長い間使用されていない、変更されていないバッファーをすべてkillします。3日間表示されていない普通のバッファーはkillされます。しかし自動的にkillされるべきではない特定のバッファーを指定したり、使われていない時間が短いバッファーでもkillするように指定できます。これらのデフォルト、およびこのコマンドの挙動の他の動向は、clean-buffer-list
のドキュメント文字列で説明されている、いくつかのオプションをカスタマイズすることにより制御できます。
Midnightモードを有効にすることにより、1日ごとにバッファーを一掃することもできます。Midnightモードは毎日真夜中にclean-buffer-list
、またはノーマルフックmidnight-hook
に指定された関数を実行します(フックを参照してください)。Midnightモードを有効にするには、Customizationバッファーを使って変数midnight-mode
をt
にセットします。Easy Customizationインターフェースを参照してください。