次: , 前: Pop Up Window, 上: Windows


14.5 同じウィンドウへの強制表示

ある種のEmacsコマンドは、特別な内容を持つ特有のバッファに切り替えます。 たとえば、 M-x shellは、`*Shell*'という名前のバッファに切り替えます。 慣習では、これらのすべてのコマンドは、 別のウィンドウにバッファを立ち上げるようにプログラムされています。 しかし、これらのバッファのいくつかを選択されている ウィンドウに表示するように指定できます。

バッファ名をリストsame-window-buffer-namesに追加すると、 そういったコマンドは、選択されているウィンドウで特定のバッファに切り替えます。 たとえば、そのリストに要素"*grep*"を追加すれば、 grepコマンドは、選択されているウィンドウにその出力バッファを表示します。

same-window-buffer-namesのデフォルト値はnilではありません。 (古いEmacsパッケージが使うものも含めて) バッファ名、`*info*'、`*mail*'、`*shell*'を指定してあります。 このため、M-x shellが通常は選択されているウィンドウで `*shell*'バッファに切り替えるのです。 もしこの要素をsame-window-buffer-namesから削除すると、 M-x shellのふるまいは変わります。 かわりに別のウィンドウでバッファを立ち上げます。

これらのバッファを、より一般的に変数same-window-regexpsで指定できます。 この変数には、正規表現のリストを設定します。 そうすると、正規表現の1つに一致するバッファはどれも、 選択されているウィンドウでバッファを切り替えて表示します。 (繰り返すが、これは、普通は別のウィンドウに 表示されるバッファのみにあてはまる。) この変数のデフォルト値には、telnetバッファとrloginバッファが指定されています。

類似の機能で、独立したフレームに表示させるバッファを指定することができます。 See Special Buffer Frames