ウィンドウの最後の行はモードライン(mode line)で、そのウィンドウで何が進行しているか表示します。ウィンドウが1つしかない場合、モードラインはエコーエリアのすぐ上に表示されます。フレームでは最後から2番目の行になります。グラフィカルなディスプレーでは、モードラインは立体的に描画されます。通常、Emacsは目立つように選択されたウィンドウのモードラインを、選択されていないウィンドウと異なるカラーで描画します。
モードラインに表示されるテキストは以下の書式です:
cs:ch-fr buf pos line (major minor)
テキスト端末では、上記テキストの後ろからウィンドウの右端まで一連のダッシュ表示されます。これらのダッシュはグラフィカルなディスプレーでは省略されます。
csとその後ろのコロンは、カレントバッファーのキャラクターセットと改行の規則を説明しています。通常Emacsはこれらの設定を自動的に処理しますが、このメッセージが便利なときもあります。
csはバッファーのキャラクターセットを説明します(Coding Systemsを参照してください)。もしこれがダッシュ(‘-’)の場合、特定のキャラクターセットの処理が行われていないことを意味します(例外として、以降で説明する行末規則があります)。‘=’の場合は、変換が行われていないことを意味し、通常はテキストに非テキストデータが含まれているときに使用されます。他の文字はさまざまなコーディングシステム(coding systems) — たとえば‘1’はISO Latin-1を表します。
テキスト端末ではcsの前に追加で2つの文字が表示され、それによりキーボード入力と端末出力のコーディングシステムが示されます。さらに何らかの入力メソッドを使用している場合は、csの前に入力メソッドを識別する文字列が表示されます(Input Methodsを参照してください)。
csの後ろの文字は、通常コロンです。もし違う文字が表示されている場合、それはファイルのエンコーディングに特別な行末規則が使われていることを意味します。通常ファイル内のテキストの各行は改行文字(newline characters)で区切られていますが、他の2つの規則が使われる場合もあります。MS-DOSのファイルを編集する場合には“キャリッジリターン(carriage-return)”と“ラインフィード(linefeed)”が使われ、コロンではなくバックスラッシュ(‘\’)または‘(DOS)’(オペレーティングシステムに依存する)が表示されます。古いマッキントッシュシステムのファイルでは、改行文字の代わりに“キャリッジリターン(carriage-return)”が使われ、そのような場合コロンではなくスラッシュ(‘/’)または‘(Mac)’が表示されます。いくつかのシステムでは行の区切りとして改行文字を使う場合、コロンではなく‘(Unix)’と表示されます。
モードラインの次の要素はchで示される文字列です。2つのダッシュ(‘--’)が表示されている場合、ウィンドウに表示されているバッファーとディスク上のファイルの内容が同じことを意味し、たとえばバッファーが“未変更(unmodified)”の場合です。バッファーが変更されている場合には2つの星印(‘**’)が表示されます。読み出し専用のバッファーの場合には、バッファーが編集されている場合には‘%*’になり、バッファーが編集されていない場合には‘%%’となります。
通常、chの後ろの文字はダッシュ(‘-’)です。しかしカレントバッファーのデフォルトディレクトリーがリモートマシン上にある場合、かわりに‘@’が表示されます(File Namesを参照してください)。
frは選択されているフレームの名前です(Framesを参照してください)。これはテキスト端末でだけ表示されます。フレーム名の初期値は‘F1’です。
bufは、ウィンドウに表示されているバッファーの名前です。通常は編集中のファイル名と同じです。Buffersを参照してください。
posはウィンドウの上またはウィンドウの下に、まだテキストがあるかを知らせます。もしバッファーが小さくてウィンドウに全体が表示されている場合、posには‘All’が表示されます。そうではなくバッファーの一部が表示されているときには、バッファーの先頭が表示されている場合には‘Top’、バッファーの最後が表示されている場合には‘Bot’、‘nn%’と表示されている場合、nnはウィンドウの上部がバッファーのどこかをパーセント表示したものです。Size Indication(サイズ表示)モードでは、バッファー全体のサイズを表示できます。
lineは、‘L’のあとに現在ポイントがある行の番号が続いたものです(Column Number(列番号)モードをオンにすると、現在の列番号も表示できます。Optional Mode Lineを参照してください)。
majorは、そのバッファのメジャーモード(major mode)の名前です。メジャーモードはバッファーを編集する際の主要なモードで、Textモード、Lispモード、Cモードなどがあります。Major Modesを参照してください。メジャーモード名の後ろに追加の情報を表示するメジャーモードもあります。たとえばCompilation buffer(コンパイルバッファー)やShell buffer(Shellバッファー)などは、サブプロセスの状態を表示します。
minorは有効になっているマイナーモード(minor modes)の一覧で、上位のメジャーモードに追加の機能を提供するための編集モードです。Minor Modesを参照してください。
いくつかの機能は、それらが本当はマイナーモードではなくても、有効になっていればマイナーモードの一覧とともに表示されます。‘Narrow’は、表示中のバッファーが、そのテキストの一部のみを編集するように制限されていることを示します(Narrowingを参照してください)。‘Def’は、キーボードマクロを定義中であることを示します(Keyboard Macrosを参照してください)。
さらにEmacsがリカーシブエディットにあるときには、モードを囲んでいるカッコの周りに角カッコ(‘[…]’)が現れます。リカーシブエディット中も別のリカーシブエディットに入ると、角カッコは2重になります。リカーシブエディットは、特定のバッファにだけ関係するものではなく、Emacs全体に影響するので、角カッコはすべてのウィンドウのモード行に表示されるか、まったく表示されないのどちらかです。Recursive Editを参照してください。
モードラインの外観は、その内容の書式と同様、変更できます。Optional Mode Lineを参照してください。さらにモードラインはマウスに反応します。モードラインの違う部分をクリックすることでさまざまなコマンドを実行できます。Mode Line Mouseを参照してください。