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

5. Basic af Commands

We now give the basics of how to read, save, and delete messages, send mail to people and save your changes back to your mailbox.

5.1 Reading Messages  How to read the current message.
5.2 Changing the Location of Point  How to move around in a buffer.
5.3 Scrolling  How to scroll the messages on the screen.
5.4 Deleting Messages  Deleting and killing messages.
5.5 Message and Position information  Commands to get information.
5.6 Quitting  abort a key or command.
5.7 Help  How to ask af what a key does.
5.8 Numeric Arguments  Numeric arguments to repeat a command.

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

5.1 Reading Messages

The most basic operation in af is to open the current message; to display it's contents via typeout (see section 6. Typeout), or some other pager.

RET or C-o
Open the current message, using the pager named in the pager variable, usually `typeout' (open-message).
M-RET or C-M-o
Open the current message, using the pager named in the PAGER environment variable (page-message).
C-x C-o
Open the current message, displaying all the headers and the message body using the pager named in the pager variable. The body is not decoded, and multipart or partial messages are not processed in any way. (open-raw-message).

Normally, only mail headers not listed in the headers-not-displayed variable will be displayed when you open a message. A positive numeric argument makes af display all the message's headers. A negative argument makes af skip all headers, and only display the body of the message. See section 5.8 Numeric Arguments, for more information on numeric arguments.

When you open a multipart message, the headers and each textual body part will be displayed to a separate section of typeout. Non-textual body parts will be displayed using an external program if possible, otherwise you will be asked whether to view the text of the body part, save it to a file, pipe it into a command, or skip it. If any body part is an attachment, then af will offer you the choice of viewing, saving or skipping that body part.

Normally, af will ask for confirmation before it displays image, audio, video or application body parts, even if it knows how to. The confirm-viewing variable controls this, listing the content types which af will ask for confirmation before displaying.

When you open a partial message, af will try to rebuild and display the entire original message. If af can't rebuild the message then it will warn you about the problem, and offer you the choice of viewing or skipping that part of the message.

If your external pager doesn't need af to pause after displaying the message; then you can make reading messages more convenient by setting the variable pause-after-paging-message to true.

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

5.2 Changing the Location of Point

To do anything useful with af, you have to know how to move point (see section 2.1 Point). There are several keys which move point within a buffer.

C-n or n
Move down one line, vertically (next-line).
C-p or p
Move up one line, vertically (previous-line).
Move point to the vertical centre of the window. (move-to-window-line). Text does not move on the screen.

A numeric argument says which screen line to place point on. It counts screen lines down from the top of the window (zero for the top line). A negative argument counts lines from the bottom (-1 for the bottom line).

M-< or <
Move to the top of the buffer (beginning-of-buffer). With numeric argument n, move to n/10 of the way from the top. See section 5.8 Numeric Arguments, for more information on numeric arguments.
M-> or >
Move to the end of the buffer (end-of-buffer).
Read a number n and move point to line number n (goto-line). Line 1 is the beginning of the buffer.

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

5.3 Scrolling

Since only part of a large buffer fits in the window, af tries to show the part that is likely to be interesting. The display control commands allow you to specify which part of the buffer you want to see.

Clear screen and redisplay, scrolling the selected window to center point vertically within it (recenter). A numeric argument n says to move point to screen line n.
Scroll forward (a windowful or a specified number of lines) (scroll-up).
Scroll backward (scroll-down).

The names of all scroll commands are based on the direction that the messages move in the window. Thus, the command to scroll forward is called scroll-up, since the messages move up.

When scrolling a windowful at a time, af leaves two lines that were visible before you scrolled still visible afterwards, so that you can retain the context you were in before you scrolled. The number of lines of overlap across a C-v or M-v is controlled by the variable next-screen-context-lines; by default, it is two.

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

5.4 Deleting Messages

C-k or k
Kill the current message, removing it from the folder (kill-line). See section 14. Killing and Yanking.
M-x delete-message
Mark the current message as deleted. This doesn't actually delete the message until you save the buffer. At that point any messages marked as deleted will be killed, and not written to the folder.
M-x undelete-message
Remove the deleted marker from the current message; so that it will not be killed when you save the buffer.

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

5.5 Message and Position information

Here are commands to get information about messages, and your position in the buffer.

Print line number of point in the buffer (what-cursor-position).
C-x =
Print a short summary of some of the message's details in the echo area (message-info).
C-t ?
Print the message's tags in the echo area (message-tags). See section 13. Tags.

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

5.6 Quitting

At any time in af except when a command is running, you can type C-g (keyboard-quit) to quit from what you are doing. If you have typed part of a command, or a numeric argument, then C-g will get rid of it. If there isn't a partial command to get rid of, but you are in the minibuffer or typeout then typing C-g will exit back to the mail buffer, aborting the command you were running.

This means, that you can always get back to the top level of af by typing C-g C-g. This is useful for aborting commands, or if you are unsure where you are in af.

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

5.7 Help

If you forget what a key does, you can find out with the Help character, which is C-h. Type C-h k followed by the key you want to know about; for example, C-h k C-n tells you all about what C-n does. C-h is a prefix key; C-h k is just one of its subcommands (the command describe-key). The other subcommands of C-h provide different kinds of help. Type C-h three times to get a description of all the help facilities. (see section 10. Help).

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

5.8 Numeric Arguments

Any af command can be given a numeric argument (also called a prefix argument), although it may be ignored. Some commands interpret the argument as a repetition count. For example, C-n with an argument of ten moves down ten lines instead of one. With these commands, no argument is equivalent to an argument of one. Negative arguments tell most such commands to move or act in the opposite direction.

If your terminal keyboard has a META key, the easiest way to specify a numeric argument is to type digits and/or a minus sign while holding down the META key. For example,

M-5 C-n

would move down five lines. The characters Meta-1, Meta-2, and so on, as well as Meta--, do this because they are keys bound to commands (digit-argument and negative-argument) that are defined to contribute to an argument for the next command.

Another way of specifying an argument is to use the C-u (universal-argument) command followed by the digits of the argument. With C-u, you can type the argument digits without holding down modifier keys; C-u works on all terminals. To type a negative argument, type a minus sign after C-u. Just a minus sign without digits normally means -1.

C-u followed by a character which is neither a digit nor a minus sign has the special meaning of "multiply by four". It multiplies the argument for the next command by four. C-u twice multiplies it by sixteen. Thus, C-u C-u C-n moves down sixteen lines. This is a good way to move down "fast", since it moves about 2/3 of a screen in the usual size screen. C-u is also a handy way of providing an argument when you don't care about the value.

Many commands care only about whether there is an argument, and not about its value. Other commands care only about the sign of the argument. For example, the command RET (open-message) with no argument shows only some of the message's headers; with a positive argument, it shows all the headers, and with a negative argument it shows no headers at all. This may seem strange, but it is a convenient way of modifying the behaviour of a command.

We use the term "prefix argument" as well as "numeric argument" to emphasise that you type the argument before the command, and to distinguish these arguments from minibuffer arguments that come after the command.

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

This document was generated by Malc Arnold on August, 22 2002 using texi2html