With only the n (next) and p (previous) commands for
moving between nodes, nodes are restricted to a linear sequence.
Menus allow a branching structure. A menu is a list of other nodes
you can move to. It is actually just part of the text of the node
formatted specially so that Info can interpret it. The beginning of a
menu is always identified by a line which starts with * Menu:
.
A node contains a menu if and only if it has a line in it which starts
that way. The only menu you can use at any moment is the one in the
node you are in. To use a menu in any other node, you must move to
that node first.
After the start of the menu, each line that starts with a *
identifies one subtopic. The line usually contains a brief name
for the subtopic (followed by a :
), the name of the node that talks
about that subtopic, and optionally some further description of the
subtopic. Lines in the menu that do not start with a *
have no
special meaning--they are only for the human reader's benefit and do
not define additional subtopics. Here is an example:
* Foo: Node about FOO. This tells about FOO.
The subtopic name is Foo, and the node describing it is Node
about FOO
. The rest of the line is just for the reader's
Information. [[ But this line is not a real menu item, simply because
there is no line above it which starts with * Menu:
.]]
When you use a menu to go to another node (in a way that will be described soon), what you specify is the subtopic name, the first thing in the menu line. Info uses it to find the menu line, extracts the node name from it, and goes to that node. The reason that there is both a subtopic name and a node name is that the node name must be meaningful to the computer and may therefore have to be ugly looking. The subtopic name can be chosen just to be convenient for the user to specify. Often the node name is convenient for the user to specify and so both it and the subtopic name are the same. There is an abbreviation for this:
* Foo:: This tells about FOO.
This means that the subtopic name and node name are the same; they are
both Foo
.
>> Now use <SPC> to find the menu in this node, then come back to the front with a b and some <SPC>s. As you see, a menu is actually visible in its node. If you cannot find a menu in a node by looking at it, then the node does not have a menu and the m command is not available.
If you keep typing <SPC> once the menu appears on the screen, it will move to another node (the first one in the menu). If that happens, type <BACKSPACE> to come back.
The command to go to one of the subnodes is m. This is very different from the commands you have used: it is a command that prompts you for more input.
The Info commands you know do not need additional input; when you type one of them, Info processes it instantly and then is ready for another command. The m command is different: it needs to know the name of the subtopic. Once you have typed m, Info tries to read the subtopic name.
Now look for the line containing many dashes near the bottom of the screen. There is one more line beneath that one, but usually it is blank. When it is blank, Info is ready for a command, such as n or b or <SPC> or m. If that line contains text ending in a colon, it means Info is reading more input for the last command. You can't type an Info command then, because Info is trying to read input, not commands. You must either give the input and finish the command you started, or type Control-g to cancel the command. When you have done one of those things, the input entry line becomes blank again. Then you can type Info commands again.
The command to go to a subnode via a menu is m. After you type
the m, the line at the bottom of the screen says Menu item:
.
You must then type the name of the subtopic you want, and end it with
a <RET>. In Emacs, m runs the command Info-menu
.
You can abbreviate the subtopic name. If the abbreviation is not unique, the first matching subtopic is chosen. Some menus put the shortest possible abbreviation for each subtopic name in capital letters, so you can see how much you need to type. It does not matter whether you use upper case or lower case when you type the subtopic. You should not put any spaces at the end, or inside of the item name, except for one space where a space appears in the item in the menu.
You can also use the completion feature to help enter the subtopic name. If you type the <TAB> key after entering part of a name, it will fill in more of the name--as much as Info can deduce from the part you have entered.
If you move the cursor to one of the menu subtopic lines, then you do not need to type the argument: you just type a <RET>, and it stands for the subtopic of the line you are on. You can also click the middle mouse button directly on the subtopic line to go there.
Here is a menu to give you a chance to practice. This menu gives you three ways of going to one place, Help-FOO:
>> Now type just an m and see what happens:
Now you are "inside" an m command. Commands cannot be used now; the next thing you will type must be the name of a subtopic.
You can change your mind about doing the m by typing Control-g.
>> Try that now; notice the bottom line clear.
>> Then type another m.
>> Now type BAR, the item name. Do not type <RET> yet.
While you are typing the item name, you can use the <DEL> (or <BACKSPACE>) key to cancel one character at a time if you make a mistake.
>> Press <DEL> to cancel theR
. You could type another R to replace it. But you do not have to, sinceBA
is a valid abbreviation.
>> Now you are ready to go. Type a <RET>.
After visiting Help-FOO
, you should return here.
Another way to move to the menu subtopic lines and between them is
to type <TAB>. Each time you type a <TAB>, you move to the
next subtopic line. To move to a previous subtopic line, type
M-<TAB>--that is, press and hold the <META> key and then
press <TAB>. (On some keyboards, the <META> key might be labeled
Alt
.)
Once you move cursor to a subtopic line, press <RET> to go to that subtopic's node.
If your terminal supports a mouse, you have yet another way of going
to a subtopic. Move your mouse pointer to the subtopic line,
somewhere between the beginning *
and the colon :
which
ends the subtopic's brief name. You will see the subtopic's name
change its appearance (usually, its background color will change), and
the shape of the mouse pointer will change if your platform supports
that. After a while, if you leave the mouse on that spot, a small
window will pop up, saying "Mouse-2: go to that node", or the same
message may appear at the bottom of the screen.
Mouse-2 is the second button of your mouse counting from the left--the middle button on a 3-button mouse. (On a 2-button mouse, you may have to press both buttons together to "press the middle button".) The message tells you pressing Mouse-2 with the current position of the mouse pointer (on subtopic in the menu) will go to that subtopic.
More generally, Mouse-2 in an Info buffer finds the nearest link to another node and goes there. For example, near a cross reference it acts like f, in a menu it acts like m, on the node's header line it acts like n, p, or u, etc. At end of the node's text Mouse-2 moves to the next node, or up if there's no next node.
Here is another way to get to Help-FOO, a menu. You can ignore this if you want, or else try it by typing <TAB> and then <RET>, or clicking Mouse-2 on it (but then please come back to here).
>> Type n to see more commands.