Go to the first, previous, next, last section, table of contents.

# Manipulating Multiple Windows

A window is a place to show the text of a node. Windows have a view area where the text of the node is displayed, and an associated mode line, which briefly describes the node being viewed.

GNU Info supports multiple windows appearing in a single screen; each window is separated from the next by its modeline. At any time, there is only one active window, that is, the window in which the cursor appears. There are commands available for creating windows, changing the size of windows, selecting which window is active, and for deleting windows.

- The Mode Line: What appears in the mode line?
- Basic Windows: Manipulating windows in Info.
- The Echo Area: Used for displaying errors and reading input.

## The Mode Line

A mode line is a line of inverse video which appears at the bottom of an info window. It describes the contents of the window just above it; this information includes the name of the file and node appearing in that window, the number of screen lines it takes to display the node, and the percentage of text that is above the top of the window. It can also tell you if the indirect tags table for this info file needs to be updated, and whether or not the info file was compressed when stored on disk.

Here is a sample mode line for a window containing an uncompressed file named ``dir'`, showing the node ``Top'`.

    -----Info: (dir)Top, 40 lines --Top---------------------------------------
                ^^   ^   ^^^        ^^
              (file)Node #lines    where

When a node comes from a file which is compressed on disk, this is indicated in the mode line with two small ``z'`'s. In addition, if the info file containing the node has been split into subfiles, the name of the subfile containing the node appears in the modeline as well:

    --zz-Info: (emacs)Top, 291 lines --Top-- Subfile: emacs-1.Z---------------

When Info makes a node internally, such that there is no corresponding info file on disk, the name of the node is surrounded by asterisks (``*'`). The name itself tells you what the contents of the window are; the sample mode line below shows an internally constructed node showing possible completions:

    -----Info: *Completions*, 7 lines --All-----------------------------------

## Window Commands

It can be convenient to view more than one node at a time. To allow this, Info can display more than one window. Each window has its own mode line (see section The Mode Line) and history of nodes viewed in that window (see section Selecting a New Node).

`C-x o` (`next-window`)
  Selects the next window on the screen. Note that the echo area can only be selected if it is already in use, and you have left it temporarily. Normally, ``C-x o'` simply moves the cursor into the next window on the screen, or if you are already within the last window, into the first window on the screen. Given a numeric argument, ``C-x o'` moves over that many windows. A negative argument causes ``C-x o'` to select the previous window on the screen.
`M-x prev-window`
  Selects the previous window on the screen. This is identical to ``C-x o'` with a negative argument.
`C-x 2` (`split-window`)
  Splits the current window into two windows, both showing the same node. Each window is one half the size of the original window, and the cursor remains in the original window. The variable `automatic-tiling` can cause all of the windows on the screen to be resized for you automatically, please see section Manipulating Variables for more information.
`C-x 0` (`delete-window`)
  Deletes the current window from the screen. If you have made too many windows and your screen appears cluttered, this is the way to get rid of some of them.
`C-x 1` (`keep-one-window`)
  Deletes all of the windows excepting the current one.
`ESC C-v` (`scroll-other-window`)
  Scrolls the other window, in the same fashion that ``C-v'` might scroll the current window. Given a negative argument, the "other" window is scrolled backward.
`C-x ^` (`grow-window`)
  Grows (or shrinks) the current window. Given a numeric argument, grows the current window that many lines; with a negative numeric argument, the window is shrunk instead.
`C-x t` (`tile-windows`)
  Divides the available screen space among all of the visible windows. Each window is given an equal portion of the screen in which to display its contents. The variable `automatic-tiling` can cause `tile-windows` to be called when a window is created or deleted. See section Manipulating Variables.

## 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`)
  Moves forward a character.
`C-b` (`echo-area-backward`)
  Moves backward a character.
`C-a` (`echo-area-beg-of-line`)
  Moves to the start of the input line.
`C-e` (`echo-area-end-of-line`)
  Moves to the end of the input line.
`M-f` (`echo-area-forward-word`)
  Moves forward a word.
`M-b` (`echo-area-backward-word`)
  Moves backward a word.
`C-d` (`echo-area-delete`)
  Deletes the character under the cursor.
`DEL` (`echo-area-rubout`)
  Deletes the character behind the cursor.
`C-g` (`echo-area-abort`)
  Cancels or quits the current operation. If completion is being read, ``C-g'` discards the text of the input line which does not match any completion. If the input line is empty, ``C-g'` aborts the calling function.
`RET` (`echo-area-newline`)
  Accepts (or forces completion of) the current input line.
`C-q` (`echo-area-quoted-insert`)
  Inserts the next character verbatim. This is how you can insert control characters into a search string, for example.
printing character (`echo-area-insert`)
  Inserts the character.
`M-TAB` (`echo-area-tab-insert`)
  Inserts a TAB character.
`C-t` (`echo-area-transpose-chars`)
  Transposes the characters at the cursor.

The next group of commands deal with killing, and yanking text. For an in depth discussion of killing and yanking, see section `Killing and Deleting' in the GNU Emacs Manual

`M-d` (`echo-area-kill-word`)
  Kills the word following the cursor.
`M-DEL` (`echo-area-backward-kill-word`)
  Kills the word preceding the cursor.
`C-k` (`echo-area-kill-line`)
  Kills the text from the cursor to the end of the line.
`C-x DEL` (`echo-area-backward-kill-line`)
  Kills the text from the cursor to the beginning of the line.
`C-y` (`echo-area-yank`)
  Yanks back the contents of the last kill.
`M-y` (`echo-area-yank-pop`)
  Yanks 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`)
`SPC`
  Inserts as much of a completion as is possible.
`?` (`echo-area-possible-completions`)
  Displays 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 ``?'`, the possible completions would contain:

      foliate
      food
      forget

  i.e., all of the choices which begin with ``f'`. Pressing `SPC` or `TAB` would result in ``fo'` appearing in the echo area, since all of the choices which begin with ``f'` continue with ``o'`. 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`)
  Scrolls the completions window, if that is visible, or the "other" window if not.

Go to the first, previous, next, last section, table of contents.