Next: Several Buffers, Previous: Misc Buffer, Up: Buffers [Contents][Index]
しばらくの間、Emacsセッションを続けていると、多くのバッファーが溜まってしまう場合があります。必要のないバッファーをkillしたほうがよいと思うかもしれません(他のエディターではこの操作をclose(閉じる)と呼び、“バッファーを閉じる”とか、ファイルをvisitしているバッファーでは“ファイルを閉じる”のように表現するものもあります)。ほとんどのオペレーティングシステムでは、バッファーをkillすることにより、そのスペースをオペレーティングシステムに返却するので、他のプログラムがそれを使えるようになります。以下はバッファーをkillするコマンドです:
バッファーbufnameをkillします(kill-buffer
)。
バッファーを1つずつkillするか尋ねます。
正規表現にマッチするすべてのバッファーをkillするか尋ねます。
C-x k
(kill-buffer
)は、ミニバッファーで指定した名前のバッファーを1つkillします。RETだけをタイプしたときはデフォルトが使われ、これはカレントバッファーをkillします。カレントバッファーをkillすると、最近カレントだったが、今は別のウィンドウにも表示されていないバッファーがカレントになります。ファイルをvisitしているバッファーが変更されているとき、それをkillしようとすると確認を求められます。そのバッファーをkillする前に、確認にyesを応えなければkillできません。
コマンドM-x
kill-some-buffersは、各バッファーについて1つずつ確認を求めます。yと応えると、kill-buffer
と同様にバッファーをkillすることを意味します。このコマンドは名前がスペースで始まる、Emacsが内部的に使用するバッファーは無視します。
コマンドM-x
kill-matching-buffersは、正規表現の入力を求め、名前がその正規表現にマッチするすべてのバッファーをkillします。Regexpsを参照してください。kill-some-buffers
と同様、このコマンドはkillする前に確認を求めます。このコマンドは通常、名前がスペースで始まる、Emacsが内部的に使うバッファーを無視します。内部的なバッファーも同じようにkillするには、プレフィクス引数を指定してkill-matching-buffers
を呼び出します。
さまざまなバッファーをkillするにはBuffer Menu機能も便利です。Several Buffersを参照してください。
バッファーがkillされるときに特別な処理を行いたい場合、フックkill-buffer-hook
にフック関数を追加できます(Hooksを参照してください)。
(多くの人がそうしているように)何日間も1つのEmacsセッションを使っていると、何日か前に使ったバッファーが溜まってくるかもしれません。コマンドM-x clean-buffer-listは、それらを一掃するのに便利です。これは長い間使用されていない、変更されていないバッファーをすべてkillします。3日間表示されていない普通のバッファーはkillされます。しかし自動的にkillされるべきではない特定のバッファーを指定したり、使われていない時間が短いバッファーでもkillするように指定できます。
Midnightモードを有効にすることにより、1日ごとにバッファーを一掃することもできます。Midnightモードは毎日真夜中にclean-buffer-list
、またはノーマルフックmidnight-hook
に指定された関数を実行します(Hooksを参照してください)。Midnightモードを有効にするには、Customizationバッファーを使って変数midnight-mode
をt
にセットします。Easy Customizationを参照してください。