Next: , Previous: Mode Line Data, Up: Mode Line Format


22.3.2 モード行に使われる変数

本節では、mode-line-formatの標準値でモード行のテキストに 含められる変数について述べます。 これらの変数に関しては、本来特別なことはありません。 別の変数を使うようにmode-line-formatを変更すれば、 別の変数でもモード行において同じ効果を発揮します。

— Variable: mode-line-mule-info

この変数は、言語環境、バッファのコーディングシステム、 現在の入力方式に関する情報を表示するモード行構成の値を保持する。 see Non-ASCII Characters

— Variable: mode-line-modified

この変数は、カレントバッファが変更されたかどうかを表示する モード行構成の値を保持する。

mode-line-modifiedのデフォルト値は("%1*%1+")である。 これは、バッファが変更されていると‘**’を、 未変更ならば‘--’を、読み出し専用ならば‘%%’を、 読み出し専用でしかも変更されていれば‘%*’を モード行に表示することを意味する。

この変数を変更してもモード行の更新を強制しない。

— Variable: mode-line-frame-identification

この変数はカレントフレームを識別する。 複数のフレームを表示できるウィンドウシステムを使用している場合には デフォルト値は" "であり、 ある時点で1つのフレームしか表示できない普通の端末を使用している場合には "-%F "である。

— Variable: mode-line-buffer-identification

この変数はウィンドウに表示しているバッファを識別する。 デフォルト値は("%12b")であり、 空白で埋めて最低12コラムでバッファ名を表示する。

— Variable: global-mode-string

この変数は、デフォルトでモード行のバッファ名の直後に現れる モード行指定を保持する。 コマンドdisplay-timeは、 global-mode-stringが時刻と負荷情報を含んだ 変数display-time-stringを参照するように設定する。

%M’記法はglobal-mode-stringの値を使うが、 この変数はmode-line-formatでモード行に含まれるため ‘%M’は廃れた記法である。

— Variable: mode-name

このバッファローカルな変数は、 カレントバッファのメジャーモードの『愛称』を保持する。 各メジャーモードは、モード行にモード名が現れるようにこの変数に設定すること。

— Variable: minor-mode-alist

この変数は、モード行にマイナモードがオンであることを表示する方法を 指定する要素からなる連想リストを保持する。 minor-mode-alistの各要素は、2要素リストであること。

          (minor-mode-variable mode-line-string)

より一般的には、mode-line-stringはどのようなモード行指定でもよい。 それは、minor-mode-variableの値がnil以外のときに モード行に現れ、さもなければ現れない。 これらの文字列は、繋がらないように空白で始まること。 慣習的には、特定モードに対するminor-mode-variableは、 当該マイナモードがオンであるとnil以外に設定される。

minor-mode-alistのデフォルト値はつぎのとおり。

          minor-mode-alist
          ⇒ ((vc-mode vc-mode)
              (abbrev-mode " Abbrev")
              (overwrite-mode overwrite-mode)
              (auto-fill-function " Fill")
              (defining-kbd-macro " Def")
              (isearch-mode isearch-mode))

minor-mode-alist自体はバッファローカルではない。 マイナモードが各バッファごとにオンにできる場合には、 連想リストに指定した対応する各変数はバッファローカルであること。

— Variable: mode-line-process

このバッファローカルな変数は、 サブプロセスとの通信用に使われているモードの処理状態に関する モード行の情報を保持する。 メジャーモード名の直後に空白で区切らずに表示される。 たとえば、バッファ‘*shell*’におけるこの変数の値は(":%s")であり、 シェルがその状態をメジャーモードとともに‘(Shell: run)’のように 表示できる。 通常、この変数はnilである。

— Variable: default-mode-line-format

この変数は、mode-line-formatを変更していないバッファの デフォルトのmode-line-formatの値を保持する。 これは(default-value 'mode-line-format)と同じである。

default-mode-line-formatのデフォルト値はつぎのリストである。

          ("-"
           mode-line-mule-info
           mode-line-modified
           mode-line-frame-identification
           mode-line-buffer-identification
           "   "
           global-mode-string
           "   %[("
           mode-name
           mode-line-process
           minor-mode-alist
           "%n"
           ")%]--"
           (which-func-mode ("" which-func-format "--"))
           (line-number-mode "L%l--")
           (column-number-mode "C%c--")
           (-3 . "%p")
           "-%-")
— Variable: vc-mode

各バッファにおいてバッファローカルな変数vc-modeは、 バッファで訪問したファイルが版管理されているか、 そうならばその方式を記録している。 版管理されていない場合はその値はnil、 さもなければモード行に表示される文字列である。