一部のバッファは、編集用ではなく閲覧用にウィンドウに表示されます。ヘルプコマンド(ヘルプを参照)では通常、その目的で*Help*というバッファが使用され、ミニバッファ補完(補完を参照)では*Completions*というバッファが使用される、といった具合です。こうしたバッファは通常、短時間のみ表示されます。
通常、Emacsは前節で説明した通り、display-buffer
を用いてこうした一時的な表示用のウィンドウを選択します。一方、*Completions*
バッファは、当該フレームに既に表示されているウィンドウの数にかかわらず、通常は選択中のフレーム下部のウィンドウに表示されます。
Emacsで一時バッファを別の形式で表示したい場合は、変数 display-buffer-alist(The Emacs Lisp
Reference Manual の Choosing
a Window for Displaying a Buffer を参照)を適切にカスタマイズしてください。例えば、*Completions* を常に選択中のウィンドウの下に表示するには、初期化ファイル(The Emacs Initialization File
を参照)で以下の形式を使用してください。
(setopt
display-buffer-alist
'(("\\*Completions\\*" display-buffer-below-selected)))
*Completions* バッファが特殊なのは、Emacs
が通常、ウィンドウの内容をすべて表示するために必要な最小限の大きさに調整しようとする点にあります。例えば、*Help* バッファのような他の一時的表示を行っているウィンドウのサイズを変更するには、マイナーモード(マイナーモード を参照)temp-buffer-resize-mode(The Emacs
Lisp Reference Manual の 一時的表示
を参照)を有効にしてください。
temp-buffer-resize-mode でリサイズされるウィンドウの最大サイズは、オプション
temp-buffer-max-height および temp-buffer-max-width をカスタマイズすることで制御でき(The Emacs Lisp Reference Manual の Temporary
Displays を参照)、包含するフレームのサイズを超えることはありません。
Buffers showing warnings (such as byte-compilation warnings, see Byte
Compilation Functions in The Emacs Lisp Reference
Manual) are also by default shown in a window at the bottom of the
selected frame. You can control this using the variable warning-display-at-bottom: if set to nil, Emacs will use the normal logic of display-buffer (see How display-buffer
works) instead, and you can customize that via display-buffer-alist.