Go forward to Reading Messages. Go backward to Starting Up. Go up to Top.

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 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 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.  If
     no such message exists then these commands work like `n' and `p'.
`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 Incremental Search: (emacs)Incremental Search.