12.3 バッファの破棄

さまざまな理由からバッファを破棄することがあります。修正内容をファイルに書き出した後でもバッファはそのまま残っていますから、そうした場合はバッファを破棄しておいた方が安全です。
(そうしないと何かの拍子にキーを押して意図せず内容を修正してしまい、最後に Emacs を終了する時に「はて、このバッファは修正してから正しく保存したのだろうか?それとも保存し忘れたのだろうか?」と混乱することがよくあります。)
もちろん修正したが保存したくない(ファイルに残したくない)という場合もあるでしょう。バッファの破棄は C-x k (kill の k と覚えると良いでしょう)に続いてバッファ名を指定して Enter です。

「 (default memo.txt) 」という表示の意味は、何もバッファ名を指定せずただ Enter キーを押した場合は memo.txt を破棄する、というものです。
C-x b による処理では現在表示されているバッファをデフォルトとして破棄しようとします。もしこのバッファの内容が修正されていた(未保存だった)場合、Enter キーを押せば以下のような警告が出るでしょう。

破棄して問題なければ yes とタイプして Enter です。破棄したくない場合(作業を中断したい場合)は no で Enter します。

上図のように再びバッファ・メニューを表示させると、破棄したバッファがリストにあがってこないことが確認できます。

コンピュータ用語でのデフォルト(default)は、省略した場合はこの処理をする、といったものの事を指し、初期値、既定値、と直訳されます。ただ一般の英語としては不参加、(怠慢としての)義務不履行、といった意味合いのようですから、あまり英語圏での一般的な会話には使わない方が良さそうです。(語源を知りませんが de - fault なのでしょうか?) 「約束を実行しない、決まり事を守らない」という意味から「(入力を省略した場合にとるべき)既定の値または処理」はなんとなくつながるのですが。

scratch バッファ

残ったバッファも試しに破棄し、その時バッファ・メニューがどうなるか、画面上の表示がどうなるか確認すると良いでしょう。
どうしても最後に「 *scratch* 」バッファが残り、一つもバッファがない状態にはできない、という Emacs の性質が観測できるからです。
scratch バッファは Emacs が起動された初期状態から存在する、一時利用に使えるバッファとして少々特別な存在なのです。
つまり今まで作業してきましたが、実際には読み込んだファイル以外に、Emacs 自身の作業などの必要性から幾つかのバッファが作成されていたのです。

イメージとしては上図のような状態でしょうか。Emacs はこのように、ファイルと結びつけられたバッファと、ユーザが意識的に作成したわけではないバッファを区別せず扱い、ユーザに見える状態にしています。

(つまりユーザは scratch バッファや Messages バッファの内容をファイルに書き出すことがごく自然にできます。)


Yutaka Yasuda (yasuda@bakkers.gr.jp)