各ウィンドウの下部にはモードラインがあり、現在のバッファで何が起きているかが示されます。ウィンドウが1つしかない場合、モードラインはエコーエリアの直上に表示され、フレームの最後から2番目の行になります。グラフィカルディスプレイでは、モードラインは3Dボックスのような外観で描画されます。また、Emacsでは通常、選択中のウィンドウのモードラインを、選択されていないウィンドウとは異なる色で描画し、目立つようにしています。
モードラインに表示されるテキストは、以下の形式になっています。
cs:ch-dfr buf pos line (major minor)
テキスト端末では、このテキストの後にウィンドウの右端まで伸びる一連のダッシュが続きます。グラフィカルディスプレイでは、これらのダッシュは省略されます。
cs という文字列とその後に続くコロン文字は、現在のバッファで使用される文字セットと改行規則を表しています。通常、Emacs はこれらの設定を自動的に処理しますが、この情報を把握しておくと便利な場合があります。
cs は、バッファ内のテキストの文字セットを指定します(符号化方式を参照)。これがハイフン (‘-’) である場合は、特別な文字セット処理が行われないことを示します(次段落で説明する行末規約は例外となる可能性があります)。‘=’ は一切の変換を行わないことを意味し、通常は非テキストデータを含むファイルに使用されます。その他の文字はさまざまな符号化方式を表します。例えば、‘1’ は ISO Latin-1 を表します。
テキスト端末では、cs の前にキーボード入力および端末出力の符号化方式を示す2文字が付加されます。さらに、入力メソッドを使用している場合は、cs の前にその入力メソッドを識別する文字列が付加されます(入力メソッドを参照)。
cs に続く文字は、通常はコロンです。別の文字列が表示される場合は、ファイルのエンコードにおいて非自明な行末規約が採用されていることを示します。通常、ファイル内のテキスト行は改行文字で区切られますが、他にも2つの規約が用いられることがあります。MS-DOSの規約では、キャリッジリターン文字に続いてラインフィード文字が使用されます。このようなファイルを編集する場合、コロンはオペレーティングシステムに応じて、バックスラッシュ (‘\’) または ‘(DOS)’ のいずれかに変わります。古いMacintoshシステムで採用されていた別の規約では、改行の代わりにキャリッジリターン文字が使用されます。このようなファイルを編集する場合、コロンはフォワードスラッシュ (‘/’) または ‘(Mac)’ のいずれかに変わります。一部のシステムでは、改行を行区切りとして使用するファイルに対して、Emacsはコロンの代わりに ‘(Unix)’ を表示します。
emacsclient 用に作成されたフレーム(emacsclient
の呼び出しを参照)では、次の文字は ‘@’
となります。この表記は、デーモンとして動作する Emacs プロセスのフレームに典型的です(Emacs をサーバーとして使用するを参照)。
モードラインの次の要素は、ch で示される文字列です。ウィンドウに表示されているバッファの内容がディスク上の対応するファイルと同じである場合(すなわち、バッファが変更されていない場合)、2つのハイフン (‘--’) が表示されます。バッファが変更されている場合は、2つのアスタリスク (‘**’) が表示されます。読み取り専用バッファの場合、バッファが変更されていれば ‘%*’、そうでなければ ‘%%’ が表示されます。
ch の後の文字は、通常はダッシュ (‘-’) です。ただし、現在のバッファに対する default-directory (ファイル名 を参照) がリモートマシン上にある場合は、代わりに ‘@’ が表示されます。
ウィンドウが現在のバッファに専用されている場合、d が表示されます。強く専用されている場合は ‘D’ 、それ以外の形式で専用されている場合は ‘d’ と表示されます。ウィンドウが専用されていない場合、d は表示されません。The Emacs Lisp Reference Manual の Dedicated Windows を参照してください。
fr は選択中のフレーム名を表示します(フレームとグラフィカル表示を参照)。これはテキスト端末でのみ表示されます。初期フレームの名前は ‘F1’ です。
buf は、ウィンドウに表示されるバッファの名前です。通常、これは編集中のファイル名と同じになります。複数のバッファの使用を参照してください。
pos は、ウィンドウの上端より上、または下端より下に追加のテキストがあるかどうかを示します。バッファが小さく、そのすべてがウィンドウ内に表示されている場合、pos は ‘All’ となります。それ以外の場合は、バッファの先頭を見ているなら ‘Top’、バッファの末尾を見ているなら ‘Bot’、あるいは ‘nn%’ となり、ここで nn はウィンドウの上端より上にあるバッファの割合を表します。サイズ表示モードでは、バッファのサイズも併せて表示できます。オプションのモードライン機能 を参照してください。
line は、文字 ‘L’ に続いて現在の行番号が表示されたものです。(「列番号モード」を有効にすると、現在の列番号も表示できます。オプションモードの行機能を参照してください。)
major は、バッファで使用されている メジャーモード の名称です。メジャーモードとは、テキストモード、Lispモード、Cモードなど、バッファの主要な編集モードのことです。メジャーモード を参照してください。一部のメジャーモードでは、メジャーモード名の後に追加情報が表示されます。例えば、コンパイルバッファやシェルバッファでは、サブプロセスのステータスが表示されます。
minor は、有効になっている マイナーモード の一部を列挙したものです。マイナーモードとは、メジャーモードに加えて追加機能を提供するオプションの編集モードのことです。マイナーモード を参照してください。
一部の機能は、実際にはマイナーモードではないものの、有効にした際にマイナーモードと共に表示されます。‘Narrow’は、表示されているバッファの編集がテキストの一部にのみ制限されていることを意味します(Narrowingを参照)。‘Def’は、現在キーボードマクロが定義されていることを意味します(Keyboard Macrosを参照)。
さらに、Emacsが再帰的な編集レベル内にある場合、モードを囲む括弧の周囲に角括弧(‘[…]’)が表示されます。Emacsが別の再帰的な編集レベルの中にある場合は、二重角括弧が表示される、といった具合です。再帰的な編集レベルはEmacs全体に影響するため、このような角括弧はすべてのウィンドウのモードラインに表示されます。再帰的な編集レベルを参照してください。
モードラインの外観や内容のフォーマットを変更できます。オプションのモードライン機能を参照してください。また、モードラインはマウス操作に対応しており、モードラインのさまざまな箇所をクリックすると、各種コマンドが実行されます。モードラインのマウスコマンドを参照してください。さらに、モードラインのマウス操作対応部分にマウスポインタを合わせると、モードラインをクリックして実行できるコマンドに関する情報が記載されたツールチップ(ツールチップを参照)が表示されます。