次: , 前: Point, 上: Screen


1.2 エコー領域

フレームの1番下の行(モード行の下)は、エコー領域(echo area)です。 ここは、いろいろな目的向けの少量のテキスト表示に使われます。

エコーとは、あなたが打った文字を表示することを意味します。 Emacsの外部、オペレーティングシステムでは、 ユーザーからのすべての入力を普通はエコーします。 Emacsは、エコーをそれとは違ったように扱います。

Emacsでは、1文字コマンドをエコーすることはありません。 また、複数文字のコマンドでも、打つ途中に間を置かなければエコーしません。 コマンドの途中で1秒以上間を置くとすぐに、 それまでに入力したコマンドの文字をすべてエコーします。 これは、コマンドの残りの部分を促すためです。 いったんエコーが始まると、コマンドの残りは、 打つと同時にただちにエコーされます。 これは、打鍵に自信のあるユーザーには速い応答を提供し、 一方で、自信のないユーザーには最大限のフィードバックを与えるための機能です。 変数を設定すれば、このふるまいを変更できます(see Display Vars)。

コマンドを実行できなければ、エコー領域にエラーメッセージを表示します。 エラーメッセージに伴って、ビープ音が鳴ったり、画面が点滅したりします。 また、エラーが起きると、先打ちした入力は破棄されます。

エコー領域に有益なメッセージを表示するコマンドもあります。 これらのメッセージはエラーメッセージによく似ていますが、 ビープ音を伴わず、入力も破棄しません。 編集中のテキストを見てもコマンドが何をしたか自明でない場合に、 メッセージがそれを教えてくれることもあります。 特定の情報を与えるメッセージを表示するだけのコマンドもあります。 たとえば、コマンドC-x =は、テキスト中でのポイントの文字位置と、 ウィンドウでの現在の桁位置を示すメッセージを表示します。 処理に時間のかかるコマンドでは、 実行中には`...'で終わるメッセージをエコー領域に表示し、 完了時には`done'を最後に付け加えることもよくあります。

エコー領域に表示される有益なメッセージは、 `*Messages*'と呼ばれるエディタバッファに保存されます。 (まだバッファを説明していないが、詳細はBuffersを参照。) 画面上に短時間しか表示されないメッセージを見逃してしまった場合には、 `*Messages*'バッファに切り替えて、 もう一度そのメッセージを見ることができます。 (連続した同じメッセージは、しばしば、 1つにまとめられてこのバッファに納められる。)

`*Messages*'のサイズは、ある行数に制限されています。 変数message-log-maxは、その行数を指定します。 いったんバッファがこの行数を超えると、最後に1行を付け加えるごとに 先頭の1行を削除します。 message-log-maxのような変数の設定方法については、See Variables

エコー領域はミニバッファ(minibuffer)の表示にも使われます。 これは、編集しようとするファイル名のような、 コマンドへの引数を読むのに使われるウィンドウです。 ミニバッファが使われているときには、 エコー領域は通常コロンで終わるプロンプトで始まります。 また、エコー領域が選択されているウィンドウなので、 カーソルもその行に表示されます。 C-gを打つと、いつでもミニバッファから抜けられます。 See Minibuffer