GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Variables.html ・ emacs-doc.conao3.com

24.4.4 モードラインで使用される変数

この節では、mode-line-format の標準値によってモードラインのテキストに組み込まれる変数について説明します。これらの変数自体に特別な点はありません。mode-line-format の値を変更してこれらの変数を使用すれば、他の任意の変数でもモードラインに同様の効果をもたらすことができます。しかし、Emacs のさまざまな箇所では、これらの変数がモードラインの一部を制御することを前提に設定しています。したがって、実用上、モードラインがこれらの変数を使用することが不可欠です。また、The GNU Emacs Manual の Optional Mode Line も参照してください。

変数: mode-line-mule-info

この変数には、言語環境、バッファ符号化方式、および現在の入力メソッドに関する情報を表示するモードライン構文の値が格納されます。非ASCII文字を参照してください。

変数: mode-line-modified

この変数には、現在のバッファが変更されているかどうかを表示するモードライン構文の値が格納されます。デフォルト値は、バッファが変更されている場合は ‘**’、変更されていない場合は ‘--’、読み取り専用の場合は ‘%%’、そして読み取り専用かつ変更されている場合は ‘%*’ となります。

この変数を変更しても、モードラインの更新が強制されることはありません。

変数: mode-line-frame-identification

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

変数: mode-line-buffer-identification

この変数は、ウィンドウに表示されているバッファを識別します。デフォルト値では、バッファ名が少なくとも12列になるようスペースで埋められて表示されます。

変数: mode-line-position

この変数はバッファ内の位置を表します。デフォルト値では、バッファの割合が表示され、オプションでバッファサイズ、行番号、および列番号も表示されます。

ユーザーオプション: mode-line-percent-position

このオプションは mode-line-position で使用されます。その値は、表示するバッファの割合(nil、"%o"、"%p"、"%P"、"%q" のいずれか。%-モードライン内のコンストラクト を参照)と、スペース埋めまたは切り捨てを行う際の幅の両方を指定します。このオプションは customize-variable 機能を用いて設定することが推奨されます。

変数: vc-mode

各バッファでバッファローカルな変数 vc-mode は、そのバッファの訪問済みファイルがバージョン管理されているか、またされている場合はどの種類であるかを記録します。その値はモードラインに表示される文字列であり、バージョン管理されていない場合は nil となります。

変数: mode-line-modes

この変数は、バッファのメジャーモードとマイナーモードを表示します。デフォルト値では、再帰的な編集レベル、プロセスステータスに関する情報、およびナローイングが有効かどうかも表示されます。

変数: mode-line-remote

この変数は、現在のバッファにおける default-directory がリモートであるかどうかを示すために使用されます。

変数: mode-line-client

この変数は、emacsclientフレームを識別するために使用されます。

変数: mode-line-format-right-align

mode-line-format 内でこの記号以降に続くものは、右寄せになります。

変数: mode-line-right-align-edge

この変数は、コンテンツを正確に mode-line-format-right-align に合わせて配置します。

mode-line-modesでは、以下の3つの変数が使用されています。

変数: mode-name

このバッファローカル変数には、現在のバッファのメジャーモードの「pretty」名が格納されます。各メジャーモードは、モード名がモードラインに表示されるよう、この変数を設定する必要があります。値は文字列である必要はなく、モードラインの構文で有効な任意のデータ型を使用できます(モードラインのデータ構造を参照)。モードラインでモード名を識別するための文字列を算出するには、format-mode-line を使用してください(モードラインの書式設定のエミュレーションを参照)。

変数: mode-line-process

このバッファローカル変数には、サブプロセスとの通信に使用されるモードにおけるプロセスステータスに関するモードライン情報が格納されています。この情報は、メジャーモード名の直後に、スペースを挟まずに表示されます。例えば、*shell* バッファにおけるこの変数の値は (":%s") であり、これによりシェルはステータスをメジャーモードと共に ‘(Shell:run)’ のように表示できます。通常、この変数の値は nil です。

変数: mode-line-front-space

この変数はモードラインの先頭に表示されます。デフォルトでは、この構文はモードラインの冒頭に表示されますが、メモリ不足メッセージがある場合は、それが先に表示されます。

変数: mode-line-end-spaces

この変数はモード行の末尾に表示されます。

変数: mode-line-misc-info

各種情報用のモードライン構成。デフォルトでは、global-mode-stringで指定された情報が表示されます。

変数: mode-line-position-line-format

line-number-mode(The GNU Emacs ManualのOptional Mode Lineを参照)が有効な場合に行番号を表示する形式です。形式内の‘%l’は行番号に置き換えられます。

変数: mode-line-position-column-format

column-number-mode(The GNU Emacs ManualのOptional Mode Lineを参照)が有効な場合に、列番号を表示するために使用されるフォーマットです。フォーマット内の‘%c’は0始まりの列番号に、‘%C’は1始まりの列番号に置き換えられます。

変数: mode-line-position-column-line-format

line-number-mode と column-number-mode の両方が有効な場合に列番号を表示する際に使用される形式。‘%l’、‘%c’、および ‘%C’ の形式指定子の意味については、前述の2つの変数を参照してください。

変数: 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 自体はバッファローカルではありません。alist に記載されている各変数は、そのマイナーモードを各バッファで個別に有効化できる場合、バッファローカルである必要があります。

変数: global-mode-string

This variable holds a mode line construct that, by default, appears in the mode line as part of mode-line-misc-info, just after the which-function-mode information if that minor mode is enabled, else after mode-line-modes. Elements that are added to this construct should normally end in a space (to ensure that consecutive global-mode-string elements display properly). For instance, the command display-time sets global-mode-string to refer to the variable display-time-string, which holds a string containing the time and load information.

‘%M’という構文は、global-mode-stringの値を代入します。この構文は、変数自体がmode-line-misc-infoで使用されているため、デフォルトのモードラインでは使用されません。

以下は 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-function-mode ("" which-func-format "--"))
 (global-mode-string ("--" global-mode-string))
 "-%-")