Emacsで編集するテキストは、バッファー(buffer)と呼ばれるオブジェクトの中に存在します。ファイルをvisitするたびに、そのファイルのテキストを保持するために、バッファーが使われます。Diredを呼び出すたびに、ディレクトリーリストを保持するためにバッファーが使われます。C-x mでメッセージを送信すると、メッセージのテキストを保持するためにバッファーが使われます。コマンドのドキュメントは、*Help*という名前のバッファーに表示されます。
バッファーは使用されているかぎりは存在して、ユーザー(Kill Bufferを参照)またはEmacs(たとえばEmacsのexit時。Exitingを参照)がもはや必要としなくなったときに削除(または“kill”)されます。
それぞれのバッファーは、任意の長さの一意な名前を持っています。バッファーがウインドウに表示されているとき、バッファーの名前はモードライン(Mode Lineを参照してください)に表示されます。バッファー名での大文字と小文字の違いは重要です。ほとんどの場合、ほとんどのバッファーはvisitしているファイルから作られ、それらの名前はファイル名から生成されます。しかし、新しい空のバッファーを、任意の名前で作成することもできます。新しく開始されたEmacsにはいくつかのバッファーがあり、それらの中には*scratch*という名前の、Lisp式を評価するのに使用されるバッファーも含まれます。そのバッファーはファイルに関連付けられていません(Lisp Interactionを参照してください)。
選択されるバッファーは、常に1つだけです。そのバッファーをカレントバッファー(current buffer: 現在のバッファー)と呼びます。「コマンドは“そのバッファー(the buffer)”を操作します」という言い方をするときがあります。これはカレントバッファーを操作するというのが、本当の意味です。Emacsのウィンドウが1つだけのとき、そのウィンドウに表示されているバッファーがカレントになります。複数のウィンドウがあるとき、選択されたウィンドウに表示されているバッファーがカレントになります。Windowsを参照してください。
バッファーのコンテンツ(contents: 内容)とは、オプションでテキストプロパティ(Text propertiesを参照)のセットをもつ一連の文字から構成されます。テキストプロパティにより、文字により多くの情報を指定できます。
バッファーのテキスト的な内容は別として、それぞれのバッファーはいくつかの情報を記録しています。それらは、(もしあれば)visitしているファイルは何か、変更されているか、有効なメジャーモードとマイナーモードは何か(Modesを参照してください)、などの情報です。これらは、バッファーローカルな変数(buffer-local variables)に格納され、これらの変数はバッファーごとに異なる値をもつことができます。Localsを参照してください。
バッファーのサイズは、いくつかの最大値を超えて大きくすることはできません。これは一番大きいバッファーの位置が、Emacsの整数(Emacs integers)で表されることにより定義されます。なぜならEmacsはそのデータ型を使用して、バッファーの位置を追跡するからです。通常の64ビットマシンでは、バッファーの最大サイズは2^{61} - 2バイト、およそ2EiBです。通常の32ビットマシンでは、バッファーの最大サイズは通常2^{29} - 2バイト、およそ512MiBです。バッファーのサイズはシステムのメモリー量によっても制限されます。
• Select Buffer | 新しいバッファーの作成と既存のバッファーの再選択。 | |
• List Buffers | 既存のバッファーリストの取得。 | |
• Misc Buffer | リネーム、読み取り専用属性の変更、テキストのコピー。 | |
• Kill Buffer | 不必要なバッファーのkill。 | |
• Several Buffers | すべてのバッファーにたいするリストの操作と、複数バッファーにたいする操作。 | |
• Indirect Buffers | 他のバッファーのテキストを共有するインダイレクトバッファー。 | |
• Buffer Convenience | バッファー操作のための便利な機能とカスタマイズ。 |