Node:Help-M, Next:, Previous:Help-^L, Up:Getting Started



Menus and the m command

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.

The command to go to one of the subnodes is m--but do not do it yet! Before you use m, you need to learn about commands which prompt you for more input. So far, you have learned several commands that do not need additional input; when you typed one, Info processed it and was instantly ready for another command. The m command is different: it is incomplete without 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. If it is empty, 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 trying to read more input for the last command. At such times, commands do not work, because Info tries to use them as the input it needs. You must either type your response and finish the command you started, or type Control-g to cancel the command. When you have done one of those things, the line becomes blank 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 magically fill in more of the name--as much as follows uniquely from what 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.

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 the R.  You could type another R
   to replace it.  But you do not have to, since BA 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 tooltip will pop up saying "Mouse-2: go to that node". (If the tooltips are turned off or unavailable, this message is displayed in the echo area, the bottom screen line where you typed the menu subtopics in response to the prompt.) Mouse-2 is the second button of your mouse counting from the left--the rightmost button for two-button mice, the middle button for 3-button mice. So pressing Mouse-2 while the mouse pointer is on a menu subtopic goes to that subtopic.

More generally, Mouse-2 in an Info buffer runs the Emacs command Info-mouse-follow-nearest-node, which 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.