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

Starting Up

There are three ways to start VM: M-x vm, M-x vm-visit-folder and vm-mode. The first time VM is started in an Emacs session (by any of these methods), it attempts to load the file `~/.vm'. If present this file should contain Lisp code, much like the `.emacs' file. Since VM has in excess of forty configuration variables, use of the `~/.vm' can considerably reduce clutter in the `.emacs' file. You can force the reloading of this file on demand by typing L from within VM.

M-x vm causes VM to gather any mail present in your system mailbox and append it to a file known as your primary inbox, creating this file if necessary. The default name of this file is `~/INBOX', but VM will use whatever file is named by the variable vm-primary-inbox.

VM transfers the mail from the system mailbox to the primary inbox via a temporary file known as the crash box. The variable vm-crash-box names the crash box file. VM first copies the mail to the crash box, deletes the system mailbox, merges the crash box contents into the primary inbox, and then deletes the crash box. If the system or Emacs should crash in the midst of this transfer, any message not present in the primary inbox will be either in the system mailbox or the crash box. Some messages may be duplicated but no mail will be lost.

If the file named by vm-crash-box already exists when VM is started up, VM will merge that with the primary inbox before getting any new messages from the system mailbox.

By default, the location of the system mailbox is determined heuristically based on what type of system you're using. VM can be told explicitly where the system mailbox is through the variable vm-spool-files. The value of this variable should be a list of strings naming files VM should try when searching for newly arrived mail. Multiple mailboxes can be specified if you receive mail in more than one place. The value of vm-spool-files will be inherited from the shell environmental variables MAILPATH or MAIL if either of these variables are defined.

M-x vm-visit-folder (v from within VM) allows you to visit some other mail folder than the primary inbox. The folder name will be prompted for in the minibuffer.

Once VM has read the folder, the first new or unread message will be selected. If there is no such message, the first message in the folder is selected.

M-x vm-mode can be used on a buffer already loaded into Emacs to put it into the VM major mode so that VM commands can be executed from within it. This command is suitable for use in Lisp programs, and for inclusion in auto-mode-alist to automatically start VM on a file based on a particular filename suffix. vm-mode foregoes some of VM's startup procedures (e.g. starting up a summary) to faciliate noninteractive use.

The variable vm-startup-with-summary controls whether VM automatically displays a summary of the folder's contents at startup. A value of nil gives no summary; a value of t gives a full screen summary. A value that is neither t nor nil splits the screen between the summary and the folder display. The latter only works if the variable pop-up-windows's value is non-nil, and the value of vm-mutable-windows is non-nil. The default value of vm-startup-with-summary is nil.

The variable vm-mail-window-percentage tells VM what percentage of the screen should be given to the folder display when both it and the folder summary are being displayed. Note that Emacs enforces a minimum window size limit, so a very high or very low value for this variable may squeeze out one of the displays entirely. This variable's default value is 75, which works with Emacs' default minimum window size limit, on a 24 line terminal. Note that the value of vm-mutable-windows must be t or VM will not do window resizing regardless of the value of vm-mail-window-percentage.

A non-nil value for the variable vm-inhibit-startup-message disables the display of the VM's copyright, copying and warranty disclaimer. If you must, set this variable in your own `.emacs' file; don't set it globally for everyone. Users should be told their rights. The startup messages abort at the first keystroke after startup, so they do not impede mail reading.


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