Emacsでは、fill-column の位置を示すインジケータを表示できます(明示的なフィルコマンドを参照)。フィルカラム・インジケータは、特に prog-mode およびその派生モード(メジャーモードを参照)において、プログラムのソースコードをフォーマットする上で特別な意味を持つ特定の列の位置を示すのに有用な機能です。これは、バッファが固定ピッチフォントを使用しており、すべての文字(全角文字を除く可能性がある)が画面上で同じ幅を持つことを前提としています。バッファが可変ピッチフォントを使用している場合、行によってフィルカラム・インジケータの位置がずれて表示されることがあります。
フィルカラム表示を有効にするには、マイナーモード display-fill-column-indicator-mode および global-display-fill-column-indicator-mode
を使用してください。これにより、それぞれローカルまたはグローバルにインジケータが有効になります。
あるいは、2つのバッファローカル変数 display-fill-column-indicator と
display-fill-column-indicator-character
を設定してインジケータを有効にし、表示に使用する文字を制御することもできます。なお、表示を行うには、両方の変数が nil 以外である必要があります。(マイナーモードをオンにすると、これら両方の変数が設定されます。)
このモードをカスタマイズするためのバッファローカル変数が2つと、フェイスが1つあります:
display-fill-column-indicator-column
¶インジケーターを設定する列番号を指定します。列の正の数値、または特殊値 t
を指定でき、後者の場合は変数 fill-column の値が使用されます。
それ以外の値を指定すると、インジケーターが無効になります。デフォルト値は t です。
display-fill-column-indicator-character
¶インジケーターに使用する文字を指定します。この文字は、フォントが対応していればUnicode文字を含む任意の有効な文字を指定できます。値 nil を指定すると、インジケーターが無効になります。関数 display-fill-column-indicator-mode または global-display-fill-column-indicator-mode
でモードを有効にした場合、この変数に nil
以外の文字が指定されていればその文字が使用されます。そうでない場合、Emacs は文字 U+2502 BOX
DRAWINGS LIGHT VERTICAL を使用し、U+2502 が表示できない場合は ‘|’ にフォールバックします。
fill-column-indicator ¶インジケーターの表示に使用するフェイスを指定します。デフォルト値はフェイス shadow
を継承しますが、背景色は設定されません。インジケーターの色を変更するには、このフェイスの前景色を設定するだけで済みます。
グラフィカルディスプレイでは、Emacsはフリンジにバッファの境界を表示できます。この機能を有効にすると、フリンジ内の1行目と最終行にアングル記号が表示されます。これは、ウィンドウのスクロールが可能かどうかを示す上下矢印の記号と組み合わせて表示できます。
バッファローカル変数 indicate-buffer-boundaries
は、フリンジにおけるバッファ境界とウィンドウスクロールの表示方法を制御します。値が left または
right
の場合、角度ビットマップと矢印ビットマップがそれぞれ左側または右側のフリンジに表示されます。
value がアリスト(Emacs Lisp リファレンスマニュアル の アソシエーションリスト
を参照)である場合、各要素 (indicator . position) はインジケータのいずれかの位置を指定します。indicator は top、bottom、up、down、t
のいずれかである必要があり、これによりアリストに含まれないインジケータのデフォルト位置が指定されます。position は left、right、nil
のいずれかであり、このインジケータを表示しないことを指定します。
例えば、((top . left) (t . right))
は、上部の角度ビットマップを左フリンジに、下部の角度ビットマップを右フリンジに、そして両方の矢印ビットマップを右フリンジに配置します。左フリンジに角度ビットマップのみを表示し、矢印ビットマップを表示しない場合は、((top . left) (bottom . left)) を使用してください。