www.delorie.com/gnu/docs/emacs/info_6.html   search  
 
Buy the book!


Info

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 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 SPCs.  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:

1.5.1 The u command  A node you can visit for fun.
1.5.1 The u command  Strange! two ways to get to the same place.
1.5.1 The u command  And yet another!

 
>>  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).

1.5.1 The u command  

 
>> Type n to see more commands.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright © 2003   by The Free Software Foundation     Updated Jun 2003  

Please take a moment to fill out this visitor survey
You can help support this site by visiting the advertisers that sponsor it! (only once each, though)