Next: %-Constructs, Previous: Mode Line Top, Up: Mode Line Format [Contents][Index]
このセクションでは、mode-line-format
の標準的な値として、モードラインテキストに組み込まれる変数を説明します。これらの変数は、本質的には特別なものではありません。mode-line-format
が使用する変数を他の変数に変更すれば、それらはモードライン上で同様の効果をもちます。しかし、Emacsのさまざまな部分は、それらの変数がモードラインを制御するという認識の元、それらの変数をセットします。したがって、事実上モードラインがそれらの変数を使用するのは必須なのです。
この変数は、言語環境(language environment)、バッファーコーディングシステム、カレント入力メソッド(current input method)に関する情報のモードライン構成の値を保持する。Non-ASCII Charactersを参照のこと。
この変数は、カレントバッファーが変更されたかどうかを表示する、モードライン構成の値を保持する。デフォルト値ではバッファーが変更されていれば‘**’、バッファーが変更されていなければ‘--’、バッファーが読み取り専用なら‘%%’、読み取り専用だが変更されているときは‘%*’を表示する。
この変数を変更しても、モードラインは強制的に更新されない。
この変数は、カレントフレームを識別する。デフォルト値では、複製フレームを表示可能なウィンドウシステムを使用している場合は"
"
、一度に1つのフレームだけを表示する通常の端末では"-%F "
を表示する。
この変数は、そのウィンドウ内で表示されているバッファーを識別する。デフォルト値では、少なくとも12列になるようスペースパディングされたバッファー名を表示する。
この変数は、バッファー内での位置を標示する。デフォルト値ではバッファーのパーセントを表示し、オプションでバッファーサイズ、行番号、列番号を表示する。
変数vc-mode
は、各バッファーにたいしてバッファーローカルであり、そのバッファーがvisitしているファイルがバージョンコントロールで保守されているかどうかと、保守されている場合はバージョンコントロールシステムの種別を表示する。新しいモードラインに表示される文字列、バージョンコントロールされていない場合はnil
である。
この変数は、そのバッファーのメジャーモードとマイナーモードを表示する。デフォルト値では再帰編集レベル(recursive editing level)、プロセス状態の情報、ナローイング(narrowing)効果の有無を表示する。
この変数は、カレントバッファーにたいするdefault-directory
がリモートかどうかを表示するために使用される。
この変数は、emacsclient
フレームを識別するために使用される。
以下の3つの変数は、mode-line-modes
内で使用されます:
このバッファーローカル変数は、カレントバッファーのメジャーモードの“愛称(pretty
name)”を保持する。モード名がモードラインに表示されるように、それぞれのメジャーモードは、この変数をセットすべきである。値は文字列である必要はなく、モードライン構成内で有効な任意のデータ型(Mode Line Dataを参照)を使用できる。モードライン内でモード名を識別する文字列の計算には、format-mode-line
を使用する(Emulating Mode Lineを参照)。
このバッファーローカル変数には、そのモードにおいて、サブプロセスとの通信にたいするプロセス状態のモードライン情報が含まれる。これはメジャーモード名の直後(間のスペースはない)に表示される。たとえば、*shell*バッファーでの値は(":%s")
であり、これは‘(Shell:run)’のように、メジャーモードとともにその状態を表示する。通常、この変数はnil
である。
この変数は、マイナーモードがアクティブかをモードラインに示す方法を指定する要素をもつ、連想リスト(association
list)を保持する。minor-mode-alist
の各要素は、2要素のリストであること:
(minor-mode-variable mode-line-string)
より一般的には、mode-line-stringは任意のモードライン構成であり得る。minor-mode-variableの値が非nil
の場合はモードラインに表示され、それ以外では表示されない。一緒に実行されないよう、これらの文字列はスペースで始まるべきである。慣例的に、特定のモードにたいするminor-mode-variableは、そのマイナーモードがアクティブになった際には、非nil
値にセットされる。
minor-mode-alist
自体はバッファーローカルではない。このalist内で参照される各変数は、そのマイナーモードをバッファーごとに個別に有効にできる場合は、バッファーローカルであること。
この変数は、モードライン内でマイナーモードwhich-func-mode
がセットされている場合はその直後、セットされていなければmode-line-modes
の後に表示されるモードライン構成を保持する(デフォルト)。コマンドdisplay-time
は、時間とロードの情報を含む文字列を保持する変数display-time-string
を参照する、global-mode-string
をセットする。
‘%M’構成は、global-mode-string
の値を置き換えるが、この変数はmode-line-format
からモードラインにincludeされるので、時代遅れである。
以下は、mode-line-format
のデフォルト値の簡略化バージョンです。実際のデフォルト値には、追加のテキストプロパティ指定も含まれます。
("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification
" " mode-line-position (vc-mode vc-mode) " "
mode-line-modes (which-func-mode ("" which-func-format "--")) (global-mode-string ("--" global-mode-string)) "-%-")