9.3 The Echo Area

The echo area is a one line window which appears at the bottom of the screen. It is used to display informative or error messages, and to read lines of input from you when that is necessary. Almost all of the commands available in the echo area are identical to their Emacs counterparts, so please refer to that documentation for greater depth of discussion on the concepts of editing a line of text. The following table briefly lists the commands that are available while input is being read in the echo area:

C-f (echo-area-forward)
RIGHT (an arrow key)

Move forward a character.

C-b (echo-area-backward)
LEFT (an arrow key)

Move backward a character.

C-a (echo-area-beg-of-line)

Move to the start of the input line.

C-e (echo-area-end-of-line)

Move to the end of the input line.

M-f (echo-area-forward-word)

Move forward a word.

M-b (echo-area-backward-word)

Move backward a word.

C-d (echo-area-delete)

Delete the character under the cursor.

DEL (echo-area-rubout)

Delete the character behind the cursor.

On some keyboards, this key is designated BS, for ‘Backspace’. Those keyboards will usually bind DEL in the echo area to echo-area-delete.

C-g (echo-area-abort)

Cancel or quit the current operation. If completion is being read, this command discards the text of the input line which does not match any completion. If the input line is empty, it aborts the calling function.

RET (echo-area-newline)

Accept (or forces completion of) the current input line.

C-q (echo-area-quoted-insert)

Insert the next character verbatim. This is how you can insert control characters into a search string.

M-TAB (echo-area-tab-insert)

Insert a TAB character.

C-t (echo-area-transpose-chars)

Transpose the characters at the cursor.

printing character

Insert the character.

The next group of commands deal with killing, and yanking text. (Sometimes these operations are called cut and paste, respectively.) For an in-depth discussion, see Killing and Deleting in the GNU Emacs Manual.

M-d (echo-area-kill-word)

Kill the word following the cursor.

M-DEL (echo-area-backward-kill-word)
M-BS

Kill the word preceding the cursor.

On some keyboards, the ‘Backspace’ key is used instead of DEL, so M-Backspace has the same effect as M-DEL.

C-k (echo-area-kill-line)

Kill the text from the cursor to the end of the line.

C-x DEL (echo-area-backward-kill-line)

Kill the text from the cursor to the beginning of the line.

C-y (echo-area-yank)

Yank back the contents of the last kill.

M-y (echo-area-yank-pop)

Yank back a previous kill, removing the last yanked text first.

Sometimes when reading input in the echo area, the command that needed input will only accept one of a list of several choices. The choices represent the possible completions, and you must respond with one of them. Since there are a limited number of responses you can make, Info allows you to abbreviate what you type, only typing as much of the response as is necessary to uniquely identify it. In addition, you can request Info to fill in as much of the response as is possible; this is called completion.

The following commands are available when completing in the echo area:

TAB (echo-area-complete)

Insert as much of a completion as is possible. Otherwise, display a window containing a list of the possible completions of what you have typed so far. For example, if the available choices are:

bar
foliate
food
forget

and you have typed an ‘f’, followed by TAB, this would result in ‘fo’ appearing in the echo area, since all of the choices which begin with ‘f’ continue with ‘o’.

Now if you type TAB again, Info will pop up a window showing a node called ‘*Completions*’ which lists the possible completions like this:

3 completions:
foliate         food
forget

i.e., all of the choices which begin with ‘fo’.

Now, typing ‘l’ followed by ‘TAB’ results in ‘foliate’ appearing in the echo area, since that is the only choice which begins with ‘fol’.

ESC C-v (echo-area-scroll-completions-window)

Scroll the completions window, if that is visible, or the “other” window if not.