29.3. Moving Among Messages

The most basic thing to do with a message is to read it. The way to do this in Rmail is to make the message current. The usual practice is to move sequentially through the file, since this is the order of receipt of messages. When you enter Rmail, you are positioned at the first message that you have not yet made current (that is, the first one that has the unseen attribute; Section 29.9). Move forward to see the other new messages; move backward to reexamine old messages.


Move to the next nondeleted message, skipping any intervening deleted messages (rmail-next-undeleted-message).


Move to the previous nondeleted message (rmail-previous-undeleted-message).


Move to the next message, including deleted messages (rmail-next-message).


Move to the previous message, including deleted messages (rmail-previous-message).


Move to the first message. With argument n, move to message number n (rmail-show-message).


Move to the last message (rmail-last-message).


Move to the first message (rmail-first-message).

M-s regexp RET

Move to the next message containing a match for regexp (rmail-search).

- M-s regexp RET

Move to the previous message containing a match for regexp.

n and p are the usual way of moving among messages in Rmail. They move through the messages sequentially, but skip over deleted messages, which is usually what you want to do. Their command definitions are named rmail-next-undeleted-message and rmail-previous-undeleted-message. If you do not want to skip deleted messages--for example, if you want to move to a message to undelete it--use the variants M-n and M-p (rmail-next-message and rmail-previous-message). A numeric argument to any of these commands serves as a repeat count.

In Rmail, you can specify a numeric argument by typing just the digits. You don't need to type C-u first.

The M-s (rmail-search) command is Rmail's version of search. The usual incremental search command C-s works in Rmail, but it searches only within the current message. The purpose of M-s is to search for another message. It reads a regular expression (Section 14.5) nonincrementally, then searches starting at the beginning of the following message for a match. It then selects that message. If regexp is empty, M-s reuses the regexp used the previous time.

To search backward in the file for another message, give M-s a negative argument. In Rmail you can do this with - M-s.

It is also possible to search for a message based on labels. Section 29.8.

To move to a message specified by absolute message number, use j (rmail-show-message) with the message number as argument. With no argument, j selects the first message. < (rmail-first-message) also selects the first message. > (rmail-last-message) selects the last message.