Go to the first, previous, next, last section, table of contents.

Selecting Messages

In order to read, delete, or do anything to a message, you need to select it. In other words, make the message the current message.

The primary commands for selecting messages in VM are n (vm-next-message) and p (vm-previous-message). These commands move forward and backward through the current folder. By default, these commands skip messages flagged for deletion. This behavior can be disabled by setting the value of the variable vm-skip-deleted-messages to nil. These commands can also be made to skip messages that have been read; set vm-skip-read-messages to t to do this.

The commands n and p also take prefix arguments that specify the number of messages to move forward or backward. If the magnitude of the prefix argument is greater than 1, no message skipping will be done regardless of the settings of the skip variables.

The variable vm-circular-folders determines whether VM folders will be considered circular by various commands. Circular means VM will wrap from the end of the folder to the start and vice versa when moving the message pointer, deleting, undeleting or saving messages before or after the current message.

A value of t causes all VM commands to consider folders circular. A value of nil causes all VM commands to signal an error if the start or end of the folder would have to be passed to complete the command. For movement commands, this occurs after the message pointer has been moved as far as it can go. For other commands the error occurs before any part of the command has been executed, i.e. no deletions, saves, etc. will be done unless they can be done in their entirety. A value other than nil or t causes only VM's movement commands to consider folders circular. Saves, deletes and undeletes will behave as if the value is nil. The default value of vm-circular-folders is nil.

You can also select messages by using the summary window. See section Summaries. Move the cursor to the summary line for the message you want to select and press RET. VM will select this message. Instead of pressing RET you could run some other VM command that operates based on the notion of a `current message'. VM will select the message under the cursor in the summary window before executing such commands. Example, if you type d, VM will select the message under the cursor and then delete it. Note that this occurs only when you execute a command when the cursor is in the summary buffer window and only if the variable vm-follow-summary-cursor is non-nil.

When a folder is visited or when you type g and VM retrieves some mail, the default action is to move to the first new or unread message in the folder. New messages are favored over old but unread messages. If you set vm-jump-to-new-messages to nil, VM will favor old, unread messages over new messages if the old, unread message appears earlier in the folder. If you set vm-jump-to-unread-messages to nil also, VM will not search for new or unread messages.

Other commands to select messages:

RET (vm-goto-message)
Go to message number n. n is the prefix argument, if provided, otherwise it is prompted for in the minibuffer.
TAB (vm-goto-message-last-seen)
Go to message last previewed or read.
N (vm-next-message-no-skip)
P (vm-previous-message-no-skip)
Go to the next (previous) message, ignoring the settings of the skip control variables.
M-n (vm-next-unread-message)
M-p (vm-previous-unread-message)
Move forward (backward) to the nearest new or unread message.
M-s (vm-isearch-forward)
M-x vm-isearch-backward
These work just like Emacs' normal forward and backward incremental search commands, except that when the search ends, VM selects the message containing point. If the value of the variable vm-search-using-regexps is non-nil, a regular expression may be used instead of a fixed string for the search pattern; VM defaults to the fixed string search. If a prefix argument is given, the value of vm-search-using-regexps is temporarily reversed for the search. See section `Incremental Search' in the GNU Emacs Manual.

Go to the first, previous, next, last section, table of contents.