バッファ割合 pos は、ウィンドウの上端より上にあるバッファの割合を示します。また、M-x size-indication-mode と入力してサイズ表示モードをオンにすると、バッファのサイズも併せて表示できます。サイズは、バッファ割合の直後に次のように表示されます:
pos of size
ここで size はバッファ内の文字数を人間が読み取りやすい形式で表したものであり、つまり 10^3 には "k"、10^6 には "M"、10^9 には "G" といった表記が略記として用いられます。
「行番号」モードが有効な場合、現在の行番号がモードラインに表示されます。コマンド M-x line-number-mode でこのモードのオン/オフを切り替えられます。通常はオンになっています。行番号はバッファのパーセンテージ pos の後に表示され、‘L’ という文字でその種類が示されます。
同様に、M-x column-number-mode で列番号モードを有効にすると、現在の列番号を表示できます。列番号は文字 ‘C’ で示されます。ただし、これら両方のモードが有効な場合、行番号と列番号は括弧内に表示され、‘L’ や ‘C’ ではなく、まず行番号が表示されます。例えば:‘(561,2)’。マイナーモードの詳細やこれらのコマンドの使用方法については、マイナーモードを参照してください。
列番号モードでは、表示される列番号はウィンドウの左端から0始まりでカウントされます。表示される列番号を1始まりにしたい場合は、column-number-indicator-zero-basedをnilに設定してください。
バッファを狭めた場合(狭めを参照)、表示される行番号はバッファのアクセス可能な範囲を基準としています。そのため、goto-line の引数としては適していません。(what-line コマンドは、ファイル全体を基準とした行番号を表示します。)goto-line-relative
コマンドを使用すると、ポイントを狭めたバッファのアクセス可能な範囲を基準とした行に移動できます。
バッファが非常に大きい場合(line-number-display-limit
の値より大きい場合)、処理速度が著しく低下するため、Emacs
は行番号を計算しません。そのため、モードラインに行番号は表示されません。この制限を解除するには、line-number-display-limit を nil に設定してください。
バッファ内の行が長すぎる場合、行番号の計算に時間がかかることがあります。このため、Emacsでは、ポイント付近の行の平均幅(文字数)が line-number-display-limit-width
の値を超える場合、行番号を表示しません。デフォルト値は200文字です。
Emacsでは、オプションですべてのモードラインに時刻とシステム負荷を表示できます。この機能を有効にするには、M-x
display-time と入力するか、オプション display-time-mode
をカスタマイズしてください。モードラインに追加される情報は、次のようになります。
hh:mmPM l.ll
ここで hh と mm は時と分を表し、その後には必ず
‘AM’ または ‘PM’ が続きます。l.ll
は、システム全体で実行中または実行可能(すなわち、利用可能なプロセッサを待機中)であったプロセスの、直近数分で集計された平均数です。(オペレーティングシステムがサポートしていない場合、一部のフィールドが表示されないことがあります。)24時間表記での表示を希望する場合は、変数
display-time-24hr-format に t を設定してください。
まだ読んでいないメールがある場合、ロードレベルの後に ‘Mail’
という文字列が表示されます。グラフィカルディスプレイでは、display-time-use-mail-icon をカスタマイズすることで ‘Mail’
の代わりにアイコンを使用でき、これによりモードラインのスペースを節約できる場合があります。display-time-mail-face
をカスタマイズして、メールインジケーターを目立つように表示できます。display-time-mail-file を使用してチェックするメールファイルを指定するか、display-time-mail-directory
を設定して受信メールをチェックするディレクトリを指定してください(ディレクトリ内の空でない通常ファイルはすべて、新しく届いたメールとみなされます)。
ノートパソコンでEmacsを実行する際、コマンド display-battery-mode
を使用するか、変数 display-battery-mode
をカスタマイズすることで、モードラインにバッテリー残量を表示できます。変数 battery-mode-line-format
はバッテリー残量の表示方法を決定します。具体的なモードライン上のメッセージはオペレーティングシステムによって異なりますが、通常は総充電量に対する現在のバッテリー残量をパーセントで表示します。battery-update-functions
の関数はモードラインの更新後に実行され、バッテリーの状態に基づいてアクションをトリガーするために使用できます。
グラフィカルディスプレイでは、モードラインは3Dボックスとして描画されます。この表示が不要な場合は、mode-lineフェイスをカスタマイズし、そのbox属性をnilに設定することで無効にできます。フェイスのカスタマイズを参照してください。
デフォルトでは、選択されていないウィンドウのモードラインは、mode-line-inactive
と呼ばれる別のフェイスで表示されます。選択されているウィンドウのみが mode-line
フェイスで表示されます。これにより、どのウィンドウが選択されているかが分かりやすくなります。ミニバッファが選択されている場合、ミニバッファにはモードラインがないため、ミニバッファを起動した元のウィンドウのモードラインが
mode-line
を用いて表示されます。その結果、通常のミニバッファへの入力によってモードラインが変更されることはありません。
変数 mode-line-in-non-selected-windows に nil を設定することで mode-line-inactive の使用を無効にでき、これによりすべてのモードラインが mode-line 面に表示されます。
変数 eol-mnemonic-unix、eol-mnemonic-dos、eol-mnemonic-mac、eol-mnemonic-undecided
をそれぞれ好みの文字列に設定することで、各行末形式のモードライン表示をカスタマイズできます。
モードによっては、モードラインに大量のデータが配置され、モードライン末尾の要素が右に押しやられることがあります。Emacsでは、mode-line-compact 変数が nil
以外の場合、連続するスペースを単一のスペースに変換することで、モードラインを「圧縮」できます。この変数が long
の場合、モードラインが現在選択されているウィンドウよりも広いときにのみこの処理が行われます。(この計算は、表示幅ではなく文字数に基づいた近似的なものです。)この変数をバッファローカルに設定することで、特定のバッファのモードラインのみを圧縮できます。さらにモードラインを「圧縮」するには、mode-line-collapse-minor-modes オプションを nil
以外の値にカスタマイズしてください。すると、Emacsはモードライン上の一部のマイナーモードインジケータを単一のクリック可能なボタンに集約して非表示にします。
デフォルトでは、ほとんどのバッファにモードラインが表示されますが、バッファ内でモードラインが不要な場合は、コマンド M-x mode-line-invisible-mode
を使用して現在のバッファのモードラインを非表示にできます。このコマンドを再度実行するまで、モードラインは非表示のままとなります。メジャーモードに移行する際に常にモードラインを非表示にするには、mode-line-invisible-mode をフックに追加してください(フックを参照)。