Because the header is part of the message, you can edit the header
fields as you wish. However, several convenience commands exist to
help you create and edit them. For example, the command C-c C-f
mh-to-field; alternatively, C-c C-f t) moves the
cursor to the ‘To:’ header field, creating it if necessary. The
commands for moving to the ‘Cc:’, ‘Subject:’, ‘From:’,
‘Reply-To:’, ‘Mail-Reply-To:’, ‘Mail-Followup-To’,
‘Bcc:’, and ‘Dcc:’ header fields are similar.
One command behaves differently from the others, namely, C-c C-f
mh-to-fcc; alternatively, C-c C-f f). This command
will prompt you for the folder name in which to file a copy of the
draft. See Folder Selection.
Within the header of the message, the command
mh-letter-next-header-field-or-indent) moves between fields
that are highlighted with the face
skipping those fields listed in
mh-compose-skipped-header-fields. After the last field, this
command then moves point to the message body before cycling back to
the first field. If point is already past the first line of the
message body, then this command indents by calling
indent-relative with the given prefix argument. The command
backwards between the fields and cycles to the body of the message
after the first field. Unlike the command TAB, it will always
take point to the last field from anywhere in the body.
If the field contains addresses (for example, ‘To:’ or
‘Cc:’) or folders (for example, ‘Fcc:’) then the command
mh-letter-complete) will provide alias
completion (see Aliases). In the body of the message,
which is set to ‘'ispell-complete-word’ by default. The command
mh-letter-complete) takes a prefix argument
that is passed to the
mh-letter-complete-function. In addition,
turn on the option
mh-compose-space-does-completion-flag to use
the command SPC (
mh-letter-complete-or-space) to perform
completion in the header as well; use a prefix argument to specify
more than one space. Addresses are separated by a comma; when you
press the comma, the command
the alias expansion in the minibuffer if
mh-alias-flash-on-comma is turned on.
Use the command C-c C-t
mh-letter-toggle-header-field-display to display truncated
header fields. This command is a toggle so entering it again will hide
the field. This command takes a prefix argument: if negative then the
field is hidden, if positive then the field is displayed (for example,
C-u C-c C-t).
Be sure to leave a row of dashes or a blank line between the header and the body of the message.
The body of the message is edited as you would edit any Emacs buffer
although there are a few commands and options to assist you. You can
change the fill column in MH-Letter mode with the option
mh-letter-fill-column. By default, this option is 72 to allow
others to quote your message without line wrapping.
You’ll often include messages that were sent from user agents that
haven’t yet realized that paragraphs consist of more than a single
line. This makes for long lines that wrap in an ugly fashion. You’ll
find that M-q (
fill-paragraph) works well even on these
quoted messages, even if they are nested, just as long as all of the
quotes match the value of
mh-ins-buf-prefix (see Inserting Letter to Which You’re Replying). For example, let’s assume you have the following in your
> Hopefully this gives you an idea of what I'm currently doing. I'm \ not sure yet whether I'm completely satisfied with my setup, but \ it's worked okay for me so far.
Running M-q on this paragraph produces:
> Hopefully this gives you an idea of what I'm currently doing. I'm not > sure yet whether I'm completely satisfied with my setup, but it's > worked okay for me so far.
The command C-c C-o (
mh-open-line) is similar to the
command C-o (
open-line) in that it inserts a newline
after point. It differs in that it also inserts the right number of
quoting characters and spaces so that the next line begins in the same
column as it was. This is useful when breaking up paragraphs in
replies. For example, if this command was used when point was after
the first period in the paragraph above, the result would be this:
> Hopefully this gives you an idea of what I'm currently doing. > I'm not > sure yet whether I'm completely satisfied with my setup, but it's > worked okay for me so far.