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

2. Commands

2.1 Buffer Entry  Commands after entering a Message buffer.
2.2 Header Commands  Commands for moving to headers.
2.3 Movement  Moving around in message buffers.
2.4 Insertion  Inserting things into message buffers.
2.5 MIME  MIME considerations.
2.6 Various Commands  Various things.
2.7 Sending  Actually sending the message.
2.8 Mail Aliases  How to use mail aliases.
2.9 Spelling  Having Emacs check your spelling.


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

2.1 Buffer Entry

You most often end up in a Message buffer when responding to some other message of some sort. Message does lots of handling of quoted text, and may remove signatures, reformat the text, or the like--depending on which used settings you're using. Message usually gets things right, but sometimes it stumbles. To help the user unwind these stumblings, Message sets the undo boundary before each major automatic action it takes. If you press the undo key (usually located at C-_) a few times, you will get back the un-edited message you're responding to.


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

2.2 Header Commands

All these commands move to the header in question. If it doesn't exist, it will be inserted.

C-c ?
Describe the message mode.

C-c C-f C-t
Go to the To header (message-goto-to).

C-c C-f C-b
Go to the Bcc header (message-goto-bcc).

C-c C-f C-f
Go to the Fcc header (message-goto-fcc).

C-c C-f C-c
Go to the Cc header (message-goto-cc).

C-c C-f C-s
Go to the Subject header (message-goto-subject).

C-c C-f C-r
Go to the Reply-To header (message-goto-reply-to).

C-c C-f C-n
Go to the Newsgroups header (message-goto-newsgroups).

C-c C-f C-d
Go to the Distribution header (message-goto-distribution).

C-c C-f C-o
Go to the Followup-To header (message-goto-followup-to).

C-c C-f C-k
Go to the Keywords header (message-goto-keywords).

C-c C-f C-u
Go to the Summary header (message-goto-summary).


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

2.3 Movement

C-c C-b
Move to the beginning of the body of the message (message-goto-body).

C-c C-i
Move to the signature of the message (message-goto-signature).


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

2.4 Insertion

C-c C-y
Yank the message that's being replied to into the message buffer (message-yank-original).

C-c M-C-y
Prompt for a buffer name and yank the contents of that buffer into the message buffer (message-yank-buffer).

C-c C-q
Fill the yanked message (message-fill-yanked-message). Warning: Can severely mess up the yanked text if its quoting conventions are strange. You'll quickly get a feel for when it's safe, though. Anyway, just remember that C-x u (undo) is available and you'll be all right.

C-c C-w
Insert a signature at the end of the buffer (message-insert-signature).

C-c M-h
Insert the message headers (message-insert-headers).

message-ignored-cited-headers
All headers that match this regexp will be removed from yanked messages. The default is `.', which means that all headers will be removed.

message-citation-line-function
Function called to insert the citation line. The default is message-insert-citation-line, which will lead to citation lines that look like:

 
Hallvard B Furuseth <h.b.furuseth@usit.uio.no> writes:

Point will be at the beginning of the body of the message when this function is called.

message-yank-prefix
When you are replying to or following up an article, you normally want to quote the person you are answering. Inserting quoted text is done by yanking, and each quoted line you yank will have message-yank-prefix prepended to it. The default is `> '.

message-indentation-spaces
Number of spaces to indent yanked messages.

message-cite-function
Function for citing an original message. The default is message-cite-original, which simply inserts the original message and prepends `> ' to each line. message-cite-original-without-signature does the same, but elides the signature. You can also set it to sc-cite-original to use Supercite.

message-indent-citation-function
Function for modifying a citation just inserted in the mail buffer. This can also be a list of functions. Each function can find the citation between (point) and (mark t). And each function should leave point and mark around the citation text as modified.

message-signature
String to be inserted at the end of the message buffer. If t (which is the default), the message-signature-file file will be inserted instead. If a function, the result from the function will be used instead. If a form, the result from the form will be used instead. If this variable is nil, no signature will be inserted at all.

message-signature-file
File containing the signature to be inserted at the end of the buffer. The default is `~/.signature'.

Note that RFC1036bis says that a signature should be preceded by the three characters `-- ' on a line by themselves. This is to make it easier for the recipient to automatically recognize and process the signature. So don't remove those characters, even though you might feel that they ruin your beautiful design, like, totally.

Also note that no signature should be more than four lines long. Including ASCII graphics is an efficient way to get everybody to believe that you are silly and have nothing important to say.


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

2.5 MIME

Message is a MIME-compliant posting agent. The user generally doesn't have to do anything to make the MIME happen--Message will automatically add the Content-Type and Content-Transfer-Encoding headers.

The most typical thing users want to use the multipart things in MIME for is to add "attachments" to mail they send out. This can be done with the C-c C-a command, which will prompt for a file name and a MIME type.

You can also create arbitrarily complex multiparts using the MML language (see section `Composing' in The Emacs MIME Manual).


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

2.6 Various Commands

C-c C-r
Caesar rotate (aka. rot13) the current message (message-caesar-buffer-body). If narrowing is in effect, just rotate the visible portion of the buffer. A numerical prefix says how many places to rotate the text. The default is 13.

C-c C-e
Elide the text between point and mark (message-elide-region). The text is killed and replaced with the contents of the variable message-elide-ellipsis. The default value is to use an ellipsis (`[...]').

C-c C-z
Kill all the text up to the signature, or if that's missing, up to the end of the message (message-kill-to-signature).

C-c C-v
Delete all text in the body of the message that is outside the region (message-delete-not-region).

M-RET
Insert four newlines, and then reformat if inside quoted text.

Here's an example:

 
> This is some quoted text.  And here's more quoted text.

If point is before `And' and you press M-RET, you'll get:

 
> This is some quoted text.

*

> And here's more quoted text.

`*' says where point will be placed.

C-c C-t
Insert a To header that contains the Reply-To or From header of the message you're following up (message-insert-to).

C-c C-n
Insert a Newsgroups header that reflects the Followup-To or Newsgroups header of the article you're replying to (message-insert-newsgroups).

C-c M-r
Rename the buffer (message-rename-buffer). If given a prefix, prompt for a new buffer name.


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

2.7 Sending

C-c C-c
Send the message and bury the current buffer (message-send-and-exit).

C-c C-s
Send the message (message-send).

C-c C-d
Bury the message buffer and exit (message-dont-send).

C-c C-k
Kill the message buffer and exit (message-kill-buffer).


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

2.8 Mail Aliases

The message-mail-alias-type variable controls what type of mail alias expansion to use. Currently only one form is supported--Message uses mailabbrev to handle mail aliases. If this variable is nil, no mail alias expansion will be performed.

mailabbrev works by parsing the `/etc/mailrc' and `~/.mailrc' files. These files look like:

 
alias lmi "Lars Magne Ingebrigtsen "
alias ding "ding@ifi.uio.no (ding mailing list)"

After adding lines like this to your `~/.mailrc' file, you should be able to just write `lmi' in the To or Cc (and so on) headers and press SPC to expand the alias.

No expansion will be performed upon sending of the message--all expansions have to be done explicitly.


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

2.9 Spelling

There are two popular ways to have Emacs spell-check your messages: ispell and flyspell. ispell is the older and probably more popular package. You typically first write the message, and then run the entire thing through ispell and fix all the typos. To have this happen automatically when you send a message, put something like the following in your `.emacs' file:

 
(add-hook 'message-send-hook 'ispell-message)

If you're in the habit of writing in different languages, this can be controlled by the ispell-message-dictionary-alist variable:

 
(setq ispell-message-dictionary-alist
      '(("^Newsgroups:.*\\bde\\." . "deutsch8")
	(".*" . "default")))

ispell depends on having the external `ispell' command installed.

The other popular method is using flyspell. This package checks your spelling while you're writing, and marks any mis-spelled words in various ways.

To use flyspell, put something like the following in your `.emacs' file:

 
(defun my-message-setup-routine ()
  (flyspell-mode 1))
(add-hook 'message-setup-hook 'my-message-setup-routine)

flyspell depends on having the external `ispell' command installed.


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

This document was generated by James LewisMoss on November, 11 2002 using texi2html