21.4 バッファーのkill

しばらくの間、Emacsセッションを続けていると、多くのバッファーが溜まってしまう場合があります。必要のないバッファーをkillしたほうがよいと思うかもしれません(他のエディターではこの操作をclose(閉じる)と呼び、“バッファーを閉じる”とか、ファイルをvisitしているバッファーでは“ファイルを閉じる”のように表現するものもあります)。ほとんどのオペレーティングシステムでは、バッファーをkillすることにより、バッファーのためにEmacsが使用していたメモリーをオペレーティングシステムに解放するので、他のプログラムがそれを使えるようになります。以下はバッファーをkillするコマンドです:

C-x k buffer RET

バッファーbufferをkillします(kill-buffer)。

M-x kill-some-buffers

バッファーを1つずつkillするか尋ねます。

M-x kill-matching-buffers

正規表現にマッチするすべてのバッファーをkillするか尋ねます。

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

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-modetにセットします。Easy Customizationインターフェースを参照してください。

This page has generated for branch:work/emacs-30_11e7ae3964e192b0e4bcc437a04278ee727e720b, commit:36502229fb0b76c19a64238fcf331f35fdb9d5d2 to check Japanese translation.