%-モード行内の構成要素 ¶モードラインの構成要素として使用される文字列では、特定の %
構文を用いてさまざまな種類のデータを置換できます。以下に、定義されている %
構文とその意味を列挙します。
‘%%’以外のあらゆる構文では、‘%’の後に10進整数を記述することで、最小フィールド幅を指定できます。幅がそれより小さい場合、フィールドはその幅までパディングされます。純粋な数値構文(‘c’、‘i’、‘I’、および‘l’)は左側にスペースを挿入してパディングされ、それ以外の構文は右側にスペースを挿入してパディングされます。
%bbuffer-name関数で取得した現在のバッファ名。バッファ名を参照してください。
%cウィンドウの左端から0番として数えた、現在のポイントの列番号。
%Cウィンドウの左余白を1として数えた、現在のポイントの列番号。
%eEmacsのLispオブジェクト用メモリが不足しそうになった際、その旨を伝える短いメッセージが表示されます。それ以外の場合は、空になります。
%fbuffer-file-name関数で取得した参照先のファイル名。バッファファイル名を参照してください。
%Fタイトル(ウィンドウシステムのみ)または選択中のフレーム名。基本パラメータを参照してください。
%i現在のバッファのアクセス可能な領域のサイズ。基本的には (- (point-max)
(point-min))。
%I‘%i’のように、10^3を‘k’、10^6を‘M’、10^9を‘G’などと略記することで、サイズをより読みやすく表示しています。
%lバッファのアクセス可能な範囲内でカウントした、現在の行番号。
%Mglobal-mode-string(デフォルトではmode-line-misc-infoの一部)の値。
%n狭義化が有効な場合は ‘Narrow’、それ以外の場合は何もなし(Narrowing の narrow-to-region を参照)。
%oバッファ(の可視部分)をウィンドウが移動する度合い。すなわち、ウィンドウ上部より上のテキストのサイズを、ウィンドウ外の全テキストに対する割合で表したもの、あるいは ‘Top’、‘Bottom’、‘All’ のこと。
%pウィンドウの最上部、すなわち‘Top’、‘Bottom’、または‘All’より上にあるバッファテキストの割合。なお、デフォルトのモードライン構成では、これが3文字に切り詰められる点に注意してください。
%Pバッファテキストのうち、ウィンドウの下端より上にある部分の割合(ウィンドウ内で表示されているテキストおよび上端より上のテキストを含む)に、バッファの上端が画面に表示されている場合は‘Top’を、そうでない場合は‘Bottom’または‘All’を加算したもの。
%qウィンドウの上部と下部の両方より上のテキストの割合を、‘-’または‘All’で区切って表記したもの。
%sprocess-status で取得した、現在のバッファに属するサブプロセスのステータス。プロセス情報を参照してください。
%zキーボード、端末、およびバッファの符号化方式の覚え方。
%Z「%z」のように、改行形式を含めて。
%&バッファが変更されている場合は ‘*’、そうでない場合は ‘-’。
%*バッファが読み取り専用の場合は ‘%’(buffer-read-onlyを参照);
バッファが変更された場合は ‘*’(buffer-modified-pを参照);
それ以外の場合は ‘-’。バッファの変更を参照してください。
%+バッファが変更された場合は ‘*’(buffer-modified-pを参照);
バッファが読み取り専用の場合は ‘%’(buffer-read-onlyを参照);
それ以外の場合は ‘-’ となります。これが ‘%*’ と異なるのは、変更された読み取り専用バッファの場合のみです。バッファの変更を参照してください。
%@バッファの default-directory(ファイル名を展開する関数 を参照)がリモートマシン上にある場合は
‘@’、それ以外の場合は ‘-’ となります。
%[再帰的な編集レベルの深さを示す指標(ミニバッファレベルは除外):編集レベルごとに1つの ‘[’。再帰的編集を参照。
%]再帰的な編集レベルごとに1つの‘]’(ミニバッファレベルは除く)。
%-モードラインの残りの部分を埋めるのに十分なダッシュ。
%%文字 ‘%’—これは、%構文が許可されている文字列内に、リテラルの ‘%’ を含める方法です。
%-構文 ¶以下の構文は、もはや使用すべきではありません。
%m非推奨です。代わりに mode-name 変数を使用してください。%m 構文は、mode-name
の値が文字列以外のモードライン構文(例えば emacs-lisp-mode
など)である場合に空文字列を生成するため、不適切です。