Next: , Previous: , Up: ディスプレイの制御   [Contents][Index]


15.16 バウンダリーの表示

Emacsにfill-columnの位置(明示的なフィルコマンドを参照)を表示するインジケーターを追加できます。フィル列インジケーターは特にprog-modeとその派生モード(メジャーモードを参照)においてプログラムのソースコードのフォーマットにたいして特別な意味をもつ特定の列位置を示すために有用な機能です。これは等幅フォント(fixed-ppitch font)のすべての文字を想定した機能です。ここで等幅フォントとはすべての文字の幅が等しいフォントのことです(全角文字は例外かもしれない)。可変幅フォント(variable-pitch font)を使用バッファーでは、行が異なればフィル列インジケーターは不揃いに表示されるかもしれません。

フィル列インジケーターの表示を有効にするには、インジケーターをローカルまたはグローバルに有効にする、display-fill-column-indicator-modeまたはglobal-display-fill-column-indicator-modeのマイナーモードを使用します。

かわりにインジケーターの有効化とインジケートに使用する文字の制御に、display-fill-column-indicatordisplay-fill-column-indicator-characterという2つのバッファーローカル変数セットできます。インジケーターを表示するためには、これらの変数がどちらも非nilでなければならないことに注意してください(マイナーモードをオンにすることによりこれらの変数がセットされる)。

このモードをカスタマイズするために2つのバッファーローカル変数と1つのフェイスがあります:

display-fill-column-indicator-column

インジケーターをセットするべき列数を指定します。列にたいする正の数値、あるいは変数fill-columnの値の使用を意味するtを指定できます。

それ以外の値ではインジケーターは無効になります。デフォルト値はtです。

display-fill-column-indicator-character

インジケーターに使用する文字を指定します。フォントがサポートすれば、Unicode文字を含む任意の文字を指定できます。値nilはインジケーターを無効にします。display-fill-column-indicator-modeglobal-display-fill-column-indicator-modeでモードを有効にしたときは、値が非nilならばこの変数が指定する文字が使用されます。それ以外ならEmacsは文字U+2502 BOX DRAWINGS LIGHT VERTICAL、U+2502が表示できなければフォールバックとして‘|’を使用します。

fill-column-indicator

インジケーターの表示に使用するフェイスを指定します。これはバックグラウンドカラーを除くデフォルト値をフェイスshadowから継承します。インジケーターのカラーを変更するために必要なのは、このフェイスのフォアグラウンドカラーのセットだけです。

グラフィカルなディスプレイでは、Emacsはバッファーのバウンダリー(boundary: 境界)を、フリンジに表示することもできます。この機能を有効にすると、最初の行と最後の行ではフリンジに、かぎカッコが表示されます。上矢印または下矢印の場合、それはウィンドウをその方向に、もっとスクロールできることを示します。

バッファーローカルな変数indicate-buffer-boundariesは、バッファーのバウンダリーととウィンドウのスクロールが、フリンジでどのように表示されるかを制御します。値がleft(またはright)の場合、かぎカッコと矢印のビットマップは、左フリンジ(または右フリンジ)に表示されます。

値がalist(association list: 連想リスト。Association Lists in the Emacs Lisp Reference Manualを参照してください)の場合、各要素の(indicator . position)で、標識(indicator)の位置(position)を指定します。indicatorにはtopbottomupdown、またはt(指定されていない標識のデフォルト位置)を指定します。positionにはleftright、またはnil(標識を表示しない)を指定します。

たとえば((top . left) (t . right))は、最上行の左フリンジにかぎカッコを表示し、右フリンジには最下行のかぎカッコとスクロール矢印を表示します。左フリンジにかぎカッコだけを表示させる場合は、((top . left) (bottom . left))を使います。