Next: Dedicated Windows, Previous: Choosing Window Options, Up: Windows [Contents][Index]
ウィンドウはそれぞれリスト内に以前表示されていたバッファーと、それらのバッファーがウィンドウから削除された順序を記憶しています。このヒストリーが、たとえばreplace-buffer-in-windows
(Buffers and Windowsを参照)により使用されます。このリストはEmacsにより自動的に保守されますが、これを明示的に調べたり変更するために以下の関数を使用できます:
この関数はwindowの前のコンテンツを指定するリストをリターンする。オプション引数windowには生きたウィンドウを指定すること。デフォルトは選択されたウィンドウ。
リスト要素はそれぞれ(buffer window-start
window-pos)
という形式をもつ。ここでbufferはそのウィンドウで前に表示されていたウィンドウ、window-startはそのバッファーが最後に表示されていたときのウィンドウのスタート位置(Window Start and Endを参照)、window-posはwindow内にそのバッファーが最後に表示されていたときのポイント位置(Window Pointを参照)。
このリストは順序付きであり、より前の要素がより最近に表示されたバッファーに対応してして、通常は最初の要素がそのウィンドウからもっとも最近削除されたバッファーに対応する。
この関数はwindowの前のバッファーをprev-buffersの値にセットする。引数windowは生きたウィンドウでなければならず、デフォルトは選択されたウィンドウ。引数prev-buffersはwindow-prev-buffers
によりリターンされるリストと同じ形式であること。
これらに加えて、それぞれのバッファーは次バッファー(next
buffers)のリストを保守します。これはswitch-to-prev-buffer
(以下参照)により再表示されたバッファーのリストです。このリストは主に切り替えるバッファーを選択するために、switch-to-prev-buffer
とswitch-to-next-buffer
により使用されます。
この関数はswitch-to-prev-buffer
を通じてwindow内に最近表示されたバッファーのリストをリターンする。window引数は生きたウィンドウかnil
(選択されたウィンドウの意)でなければならない。
この関数はwindowの次バッファーリストをnext-buffersにセットする。window引数は生きたウィンドウかnil
(選択されたウィンドウの意)、引数next-buffersはバッファーのリストであること。
以下のコマンドはbury-buffer
やunbury-buffer
のように、グローバルバッファーリストを巡回するために使用できます。ただしこれらはグローバルバッファーリストではなく、指定されたウィンドウのヒストリーリストのしたがって巡回します。それに加えてこれらはウィンドウ固有なウィンドウのスタート位置とポイント位置をリストアして、すでに他のウィンドウに表示されているバッファーをも表示できます。特にswitch-to-prev-buffer
コマンドは、ウィンドウにたいする置き換えバッファーを探すためにreplace-buffer-in-windows
、bury-buffer
、quit-window
により使用されます。
このコマンドはwindow内に前のバッファーを表示する。引数windowは生きたウィンドウかnil
(選択されたウィンドウの意)であること。オプション引数bury-or-killが非nil
なら、それはwindow内にカレントで表示されているバッファーは今まさにバリーもしくはkillされるバッファーであり、したがって将来におけるこのコマンドの呼び出しでこのバッファーに切り替えるべきではないことを意味する。
前のバッファーとは、通常はwindow内にカレントで表示されているバッファーの前に表示されていたバッファーである。しかしバリーやkillされたバッファー、または直近のswitch-to-prev-buffer
呼び出しですでに表示されたバッファーは前のバッファーとしては不適格となる。
このコマンドを繰り返して呼び出すことによりwindow内で前に表示されたすべてのバッファーが表示されてしまったら、将来の呼び出しではwindowが表示されているフレームのバッファーリスト(Buffer Listを参照)から、そのフレームの他のウィンドウで表示済みのバッファーをスキップしてバッファーの表示を試みる。
このコマンドはwindow内の次バッファーに切り替える。つまりwindow内での最後のswitch-to-prev-buffer
コマンドの効果をアンドゥする。引数windowは生きたウィンドウであること。デフォルトは選択されたウィンドウ。
アンドゥ可能なswitch-to-prev-buffer
の直近の呼び出しが存在しなければ、この関数はwindowが表示されているフレームのバッファーリスト(Buffer Listを参照)からバッファーの表示を試みる。
デフォルトでは、switch-to-prev-buffer
とswitch-to-next-buffer
は同一フレーム上の他のウィンドウで表示済みのバッファーに切り替えることができます。この挙動をオーバーライドするために以下のオプションを使用できます。
この変数が非nil
なら、そのバッファーが当該ウィンドウで過去に表示されていれば、switch-to-prev-buffer
とswitch-to-next-buffer
は同一フレーム上ですでに可視のバッファーに切り替えることができる。nil
なら、switch-to-prev-buffer
とswitch-to-next-buffer
は同一フレーム上ですでに可視なバッファーへの切り替えを常に避けるよう試みる。デフォルトはt
。