Next: , Previous: , Up: Top   [Contents][Index]


19 複数バッファーの使用

Emacsで編集するテキストは、バッファー(buffer)と呼ばれるオブジェクトの中に存在します。ファイルをvisitするたびに、そのファイルのテキストを保持するために、バッファーが使われます。Diredを呼び出すたびに、ディレクトリーリストを保持するためにバッファーが使われます。C-x mでメッセージを送信すると、メッセージのテキストを保持するためにバッファーが使われます。コマンドのドキュメントは、*Help*という名前のバッファーに表示されます。

それぞれのバッファーは、任意の長さの一意な名前を持っています。バッファーがウインドウに表示されているとき、バッファーの名前はモードライン(Mode Lineを参照してください)に表示されます。バッファー名での大文字と小文字の違いは重要です。ほとんどの場合、ほとんどのバッファーはvisitしているファイルから作られ、それらの名前はファイル名から生成されます。しかし、新しい空のバッファーを、任意の名前で作成することもできます。新しく開始されたEmacsにはいくつかのバッファーがあり、それらの中には*scratch*という名前の、Lisp式を評価するのに使用されるバッファーも含まれます。そのバッファーはファイルに関連付けられていません(Lisp Interactionを参照してください)。

選択されるバッファーは、常に1つだけです。そのバッファーをカレントバッファー(current buffer: 現在のバッファー)と呼びます。「コマンドは“そのバッファー(the buffer)”を操作します」という言い方をするときがあります。これはカレントバッファーを操作するというのが、本当の意味です。Emacsのウィンドウが1つだけのとき、そのウィンドウに表示されているバッファーがカレントになります。複数のウィンドウがあるとき、選択されたウィンドウに表示されているバッファーがカレントになります。Windowsを参照してください。

バッファーのテキスト的な内容は別として、それぞれのバッファーはいくつかの情報を記録しています。それらは、(もしあれば)visitしているファイルは何か、変更されているか、有効なメジャーモードとマイナーモードは何か(Modesを参照してください)、などの情報です。これらは、バッファーローカルな変数(buffer-local variables)に格納され、これらの変数はバッファーごとに異なる値をもつことができます。Localsを参照してください。

バッファーのサイズは、いくつかの最大値を超えて大きくすることはできません。これは一番大きいバッファーの位置が、Emacsの整数(Emacs integers)で表されることにより定義されます。なぜならEmacsはそのデータ型を使用して、バッファーの位置を追跡するからです。通常の64ビットマシンでは、バッファーの最大サイズは2^{61} - 2バイト、およそ2EiBです。通常の32ビットマシンでは、バッファーの最大サイズは通常2^{29} - 2バイト、およそ512MiBです。バッファーのサイズはシステムのメモリー量によっても制限されます。