GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Buffers.html ・ emacs-doc.conao3.com

21 複数のバッファの使用

Emacsで編集しているテキストは、バッファと呼ばれるオブジェクトに格納されています。ファイルを開くたびに、そのファイルのテキストを保持するためにバッファが使用されます。Diredを呼び出すたびに、ディレクトリ一覧を保持するためにバッファが使用されます。C-x mでメッセージを送信すると、そのメッセージのテキストを保持するためにバッファが使用されます。コマンドのドキュメントを要求すると、それは*Help*という名前のバッファに表示されます。

バッファは使用中である限り存在し、不要になった時点で、ユーザー自身(バッファの破棄を参照)またはEmacs(例:Emacsを終了する際、Emacsの終了を参照)によって削除(「キル」)されます。

各バッファには一意の名前が付けられており、その長さは任意です。バッファがウィンドウに表示されると、その名前がモードラインに表示されます(モードラインを参照)。バッファ名では、大文字と小文字が区別されます。ほとんどのバッファはファイルを参照することで作成され、その名前はファイル名から派生しますが、任意の名前を付けて空のバッファを作成することも可能です。起動直後のEmacsには、*scratch*という名前のバッファを含む複数のバッファが用意されており、これはLisp式の評価に使用でき、どのファイルとも関連付けられていません(Lispインタラクションバッファを参照)。

いかなる時点においても、選択されているバッファはただ一つであり、これをカレントバッファと呼びます。コマンドが「バッファ」に対して動作すると表現することがありますが、これは実際にはカレントバッファに対して動作することを意味します。Emacsウィンドウが一つしかない場合は、そのウィンドウに表示されているバッファがカレントとなります。複数のウィンドウがある場合は、選択中のウィンドウに表示されているバッファがカレントとなります。複数のウィンドウを参照してください。

バッファの内容は一連の文字で構成されており、各文字には任意でテキストプロパティのセット(テキストプロパティを参照)が付随し、それによってその文字に関するより詳細な情報を指定できます。

テキスト内容に加えて、各バッファには、どのファイルを参照しているか(あれば)、変更されているか、どのようなメジャーモードおよびマイナーモードが有効か(メジャーモードとマイナーモードを参照)といった、いくつかの情報が記録されています。これらはバッファローカル変数――バッファごとに異なる値を持ち得る変数――に格納されます。ローカル変数を参照してください。

バッファのサイズは、Emacsの整数で表現可能な最大バッファ位置によって定義されるある上限を超えることはできません。これは、Emacsがそのデータ型を用いてバッファ位置を管理しているためです。一般的な64ビットマシンでは、この最大バッファサイズは2^{61} - 2バイト、すなわち約2 EiBとなります。一般的な32ビットマシンでは、最大サイズは通常2^{29} - 2バイト、すなわち約512 MiBとなります。また、バッファサイズはシステムのメモリ容量によっても制限されます。