次: , 前: Misc Buffer, 上: Buffers


13.4 バッファの消去

Emacsのセッションをしばらく続けると、 たくさんの数のバッファが溜っているでしょう。 もう必要としないバッファを消去したほうがよいと思うかもしれません。 多くのオペレーティングシステムでは、 バッファを消去するとそのメモリ領域を解放して オペレーティングシステムに返すので、 他のプログラムが使えるようになります。 バッファを消去するコマンドをいくつかあげます。

C-x k bufname <RET>
バッファbufnameを消去する(kill-buffer)。
M-x kill-some-buffers
1つ1つ各バッファを消去するかどうか聞いてくる。

C-x kkill-buffer)は、 ミニバッファで指定した名前のバッファを消去します。 ミニバッファで<RET>だけ打ったときに使われるデフォルトは、 カレントバッファを消去することです。 カレントバッファを消去すると、別のバッファが選択されます。 どのウィンドウにも表示されていない、 もっとも最近に選択されたバッファです。 ファイルを訪問して修正してある(編集後に保存していない)バッファを 消去しようとすると、バッファを消去するまえにyesでの確認を求めます。

コマンドM-x kill-some-buffersは、 1つ1つ各バッファについて消去するか聞いてきます。 yと答えると、そのバッファを消去します。 カレントバッファや未保存の変更を含むバッファを消去しようとすると、 新しいバッファを選択するかkill-bufferのように確認を求めてきます。

バッファメニュー機能(see Several Buffers)も、 さまざまなバッファを削除するのに便利です。

バッファを削除するときに、毎回何か特別なことをしたいならば、 フックkill-buffer-hookにフック関数を追加します(see Hooks)。

多くの人々がやるように、何日にもわたってたった1つのEmacsセッションを 実行する場合、数日前に使ったバッファで一杯になることがあります。 コマンドM-x clean-buffer-listは、 それらのバッファを消去する便利な方法です。 長い期間にわたって使っていない未修正のバッファすべてを消去します。 3日間表示していない普通のバッファは消去されます。 しかし、特定のバッファを自動的には消去しないようにしたり、 ほんの数時間使用しないだけで消去するようにも指定できます。

真夜中(midnight)モードをオンにすれば、 このようなバッファの消去を毎日真夜中に行わせることもできます。 真夜中(midnight)モードは、毎日真夜中に動作します。 真夜中に、clean-buffer-list、あるいは、 ノーマルフックmidnight-hookに指定した関数を実行します。

真夜中(midnight)モードをオンにするには、 カスタマイズ(customization)バッファを使って、 変数midnight-modetを設定します。 See Easy Customization