## ======================================================================== ## File: $HOME/.muttrc ## Purpose: Setup file for the Mail program "Mutt" ## Last update: February 9, 2000 ## Current version applies to version "mutt-0.95.3", although I'm using it ## in version 1.0i just fine. ## ======================================================================== ## Availability: ## This file is available as: ## http://www.panix.com/~skyler/useful/sample_muttrc.txt ## ## The original that this file's based on is by Sven Guckes: ## http://www.math.fu-berlin.de/~guckes/ ## He also continues to update his sample .muttrc, which is available here: ## http://www.math.fu-berlin.de/~guckes/mutt/muttrc ## ## Liberal documentation and mods by Skyler Bode, skyler@panix.com. ## ======================================================================== ## Additional Info: ## MUTT Manual: A manual is available as this page: ## Sven's pages: http://www.math.fu-berlin.de/~guckes/mutt/ ## News/Usenet: comp.mail.mutt (since 980401) ## ## The canonical Mutt home page: http://www.mutt.org/ ## Michael Elkins' Mutt Manual: http://www.lemis.com/mutt/manual.html ## ======================================================================== ## MUTT is now modular, and accepts "source" as a command! *yay* ## ======================================================================== ## VARIABLES : ## ## Full explanations for variables and commands are at the Mutt Reference: ## http://www.mutt.org/doc/manual/manual-6.html ## ## NOTE: The names of variables are defined in "init.c" (struct rc_option). ## The variables pgp and pgp_autosign are only available in mutt-pgp. ## ## Valid variable types are: Boolean, Number, Format_String, String. ## ======================================================================== ## ======================================================================== ## Options/Variable settings - ## the manual to mutt-0.95.1 lists 169 variables! ## ## Note by Skyler: Options commented out with a "#" are set to ## their default value, with brief descriptions of ## possible changes. ## ## Obsolete/undocumented variables have been moved to a section at the end ## of this list, for curious historian-types. ## ======================================================================== ###### A # set abort_nosubject=ask-yes # abort message if no subject? # set abort_unmodified=yes # abort message if unmodified? set alias_file=~/.mutt.aliases # file to use for saving new aliases # set alias_format # format of aliases in alias file? # set allow_8bit # unset: convert 8bit data to Quoted-Printable # set alternates # specify other email addresses you own # set noarrow_cursor # turn this on to replace inverse-bar with "->" set ascii_chars # set: displays thread trees in ASCII # set noaskbcc # set: gives Bcc: prompt prior to edit # set noaskcc # set: gives Cc: prompt prior to edit # set attach_format="%u%D%t%2n %T%.40d%> [%.7m/%.10M, %.6e, %s] " # regulates the format of the attachments menu # set attach_sep # separator for un-split attachments, default is \n # set attach_split # unset to work on tagged attachments as one file set attribution="%n (%a) said:" # attribution given to quoted text # When replying to mail that has been in your # mailbox for some time, you may want to include # the Subject and the Date in your attribution: # set attribution="\n\tSubject: %s\n\tDate: %d\n%n (%a) sez:" # set noautoedit # set: skips the prompts for To: and # Subject: before invoking the editor for replying. # When used in conjunction with "edit_headers", # prompts are skipped in all cases, even # composing a new message. set auto_tag # when turned on, commands in the index menu default # to "act on all tagged messages" if tagged # messages exist. Default (off) requires # tag-prefix (usually ;) to act on tagged msgs; # commands by themselves act on the highlighted # message only. ###### B # set beep # unset: mutt doesn't beep on errors set beep_new # set: makes Mutt beep when new mail arrives ###### C # set charset="iso-8859-1" # set check_new # unset: turns off checking for new mail while mailbox # is open (maildir and MH mailboxes only) # set collapse_unread # unset: threads with unread msgs are not collapsed set noconfirmappend # unset: no prompt for confirm to append to a mailbox # set confirmcreate # unset: no prompt for confirm to create new mailbox set copy=yes # Keep a copy of outgoing mails ###### D # set date_format="!%a, %b %d, %Y at %I:%M:%S%p %Z" # set default_hook="~f %s !~P | (~P ~C %s)" set delete=yes # delete messages so marked when exiting mailbox set dsn_notify="failure,delay" # instant notification, need sendmail 8.8.x set dsn_return="hdrs" # format of DSN notify, need sendmail 8.8.x ###### E set edit_headers # set: makes headers editable with message (30) set editor=emacs # set editor="vim '+/^$'" # use vim as editor and start after first # empty line (ie right after the header) # set editor="vim -c ':0;/^Subject: '" # Start vim as editor on the # subject line of the header # set escape=~ # escape character for functions in built-in editor ###### F set fast_reply # jump directly to editor when replying or forwarding # This variable is ignored if "autoedit" is set set nofcc_attach # set: saves copies of outgoing attachments too # set folder=~/Mail # directory with all mail folders # set folder_format="%N %F %2l %-8.8u %-8.8g %8s %d %f" # new with mutt-0.92 - configure display of folders # set followup_to # new with mutt-0.92 - generate Mail-Followup-To header # This variable works nicely with the "lists" command # set noforce_name # set: force copies of outbound mail into folders by # recipient name, creating folders if necessary # (see also "save_name") # set forward_decode # decodes MIME attachments into body-text on forward # (ignored if "mime_forward" is turned on) # set noforward_decrypt # set: decrypts encrypted messages upon forward # used only if "mime_forward" is set and # "mime_forward_decode" is _un_set. # set forward_format="[%a: %s]" # default forward_format set forward_format="%s (fwd from %a)" # controls Subject header format upon forward; see # below with "Format Strings" # set noforward_quote # set: puts quote-ish "indent_string" in forwards # set forward_weed # set: prunes headers from decoded forwards ###### H # set hdrs # set: activates "my_hdr" custom headers # set noheader # set: includes full headers in replies # set help # set: puts help lines describing bindings on screen set hidden_host # set: strips machine part of "hostname" when adding # domain part to unqualified addresses set history=100 # size of string history buffer, whatever that is # set hostname # hostname for unqualified addresses ###### I set ignore_list_reply_to # ignores Reply-To header if same as To header, # for proper differentiation between list-reply # and group-reply (50) #### IMAP stuff: # set imap_checkinterval=0 # how often (in secs) IMAP should check for # new mail # set imap_pass # stores your IMAP password in cleartext; # what kind of doofus maneuver is this?!?? # set imap_user # your username on IMAP server ######I (continued) # set noimplicit_autoview # set: looks for mailcap entries for any MIME # attachments the internal pager doesn't know # how to handle # set in_reply_to="%i; from \"%n\" on %{!%a, %b %d, %Y at %I:%M:%S%p}" # format of In-Reply-To header set include=yes # include and quote message being replied to? # default, of course, is ask-yes # set indent_string="> " # change this and I'll kill you! ;-) # set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s" # DEFAULT set index_format="%4C %Z %{%b %d} %-15.15n (%4l) %s" # format of message index # set ispell="ispell" # how to invoke ispell on your system ###### L # set locale="C" # locale used to format dates in MUTT. ###### M # set mailcap_path # sets location of mailcap file # set mailcap_sanitize # set: restricts possible characters in mailcap # "%" expandos to safe setting, for security. # LEAVE THIS ALONE UNLESS YOU'RE A SYSADMIN. # set mail_check=5 # number of seconds between new-mail checks # set mark_old # set: make distinction between New and Old unread mail # set markers # set: puts a "+" at start of wrapped lines in MUTT's # internal pager # set mask="!^\.[^.]" # sets mask for display in file browser # set mbox=+inbox # default folder for read mail # set mbox_type=mbox # type of mailboxes to create # set nometoo # unset: removes my address from group replies # set nomenu_scroll # set: scrolls menus instead of flipping pages # set nometa_key # set: interprets keystrokes with high bit set # as meta+character set mh_purge # unset: saves deleted msgs in mh folders # instead of deleting them set mime_forward=ask-no # forward msgs as MIME attachments? set mime_forward_decode # forward MIME text attachments as bodytext # (when mime_forward is on, MUTT uses this # instead of "forward_decode") set move=no # move read mail from mailspool to "mbox"? # set message_format="%s" # string in "attachment" menu for attachments # of type message/rfc822 ###### P # set pager=less -aCMsei # I recommend "less" as the external pager. # Keep this commented out for builtin pager. set pager_context=1 # number of lines repeated between pages # for context # set pager_format="-%S- %C/%m: %-20.20n %s" # format of pager initial status line # set pager_index_lines=0 # number of lines of mini-index in pager set pager_stop # set: doesn't advance to next message when # "next-page" key is pressed #### PGP stuff # set nopgp_autoencrypt # set: tries to encrypt everything you send # set nopgp_autosign # set: tries to sign everything you send # set pgp_default_version=pgp2 # "pgp5" if pgp-2 is not installed, # or "gpg" if neither 5 nor 2 are installed # set pgp_encryptself # encrypt mails so I can read them, too! # (didn't work) # set pgp_gpg="default" # lets you use a different gpg if desired # set pgp_key_version="default" # default uses "pgp_default_version" # set nopgp_long_ids # set: doubles PGP key IDs to 64-bit # set pgp_receive_version="default" # default uses "pgp_default_version" # set pgp_replyencrypt # set: encrypt replies to encrypted mails # (didn't work) # set nopgp_replysign # set: sign replies to signed mails # NOTE: this doesn't work on mails that # are signed _and_ encrypted. # set pgp_send_version="default" # default uses "pgp_default_version" # set pgp_sign_as # key to use for signing (when using # several PGP IDs) # set pgp_sign_micalg="pgp-md5" # default message integrity check algorithm # set pgp_strict_enc # encode PGP/MIME as quoted-printable # ONLY CHANGE THIS IF YOU KNOW WHY! # set pgp_timeout=900 # time in seconds to keep the passphrase # in memory (default is 300) (didn't work) # set pgp_v2 # specify nonstandard location of pgp2 # set pgp_v2_language=en # language for PGP2. "mutt" is available # for use if you use language.txt. # set pgp_v2_pubring # Location of PGP2 public keyring # set pgp_v2_secring # Location of PGP2 53kr!t keyring # set pgp_v5 # specify nonstandard location of pgp5 # set pgp_v5_language # language for PGP5. "mutt" is available # for use if you use language50.txt. # set pgp_v5_pubring # Location of PGP5 public keyring # set pgp_v5_secring # Location of PGP5 53kr!t keyring # set pgp_verify_sig=ask # Verify PGP/MIME signatures? (didn't work) ###### P (continued) # set nopipe_decode # set: decode and weed headers before piping # with the "pipe_message" command # set pipe_sep # separator to use between piped messages # set nopipe_split # set: pipes tagged messages separately #### POP stuff # set nopop_delete # unset: leaves messages on server after retrieve # set pop_host # POP3 server name # set nopop_last # set: uses POP "LAST" command to determine which # messages are new. # set pop_pass # leave this unset unless you're the kind of # idiot who writes your password on your forehead # set pop_port=110 # port for POP # set pop_user # your login on the POP server ###### P (continued) # set post_indent_string # string to add after quoted text ends # set postpone=ask-yes # save unsent messages in $postponed mailbox? # set postponed=~/postponed # location of $postponed mailbox # set print=ask-yes # ask for confirmation before printing #### print_command: Command to use for printing mail. Default is "lpr". # Examples: # checking the output of the print command: # set print_command="less -aCMsei" # # printing locally *with* Header: # set print_command="a2ps -nn -ns -H -p -1 -B -F10 -nL | lpr" # # printing locally *without* Header set print_command="a2ps -nn -ns -nH -p -1 -B -F10 -nL | lpr" # # printing to VT102, 220, 300 terminal *with* Header: # set print_command="a2ps -nn -ns -H -p -1 -B -F10 -nL | pcprint" # # printing to VT102, 220, 300 terminal *without* Header: # set print_command="a2ps -nn -ns -nH -p -1 -B -F10 -nL | pcprint" ###### P (continued yet again) set noprompt_after # set: gives you a prompt when external pager exits ###### Q # set query_command # command for external address queries (huh?) # set quit=yes # You can tell Mutt to prompt you before quitting #### quote_regexp: Regexpr that defines "quoted text". ## This is used by the pager to colorize and hide/show quoted text. # set quote_regexp="^ *[a-zA-Z]*[]>|}()%:=-][]>|}():=-]*" # YESS!! set quote_regexp="^([ \t]*[>|#:}])+" # DEFAULT # set quote_regexp="^ \\?[>|]" # "\\" escapes the '?' ("zero or one") - hmm # set quote_regexp="^[>|:}]+" # '+' (one or more") does not work here. :-( # set quote_regexp="^ *[:alpha:]*[]->:|}][]->:|}]*" # forget it! ###### R # set read_inc=10 # increment to note "messages read into index" # set noread_only # set: folders always open in read-only mode. # set realname= # default: GCOS field from /etc/passwd # set recall=ask-yes # prompt to recall postponed messages when composing? set record=~/Mail/sent # mailbox to put copies of sent mail # set reply_regexp="^(re|aw):[ \t]*" # regexp for recognizing replies when threading # set noreply_self # unset: your replies to your own messages go to # recipient instead of yourself. set reply_to=yes # yes: reply to Reply-To. no: reply to From. # set resolve # set: advance to next advanceable message after # keystroke which modifies status of current msg set reverse_alias # show the sender's name as depicted in my aliases # set reverse_name # set: reply _as_ address where you got the mail # being replied to (useful if you have several addys.) ###### S # set nosave_address # set: save mail by full address, not just userid set nosave_empty # unset: removes empty mailboxes when closed # set nosave_name # set: save outbound mail to =username if it exists # set sendmail # specify sendmail to use, and arguments # set sendmail_wait=0 # how many seconds to wait for sendmail to finish # >0 = put sendmail in bkgrnd after n seconds # <0 = always drop sendmail in bkgrnd immediately # set shell # specify shell to use in shellouts (default # grabs the shell in your /etc/passwd record) # set sig_dashes # set: puts a "--" between body and signature # set signature # location of signature file. Default is # ~/.signature, this will accept piped shell commands # set simple_search="~f %s | ~s %s" # tells how simple search parameters get expanded # set smart_wrap # set: wraps long lines at word boundaries # set smileys=(>From)|(:[-^]?[][)(><}{|/DP]) # catches some false-positives on "quote_regexp" # set sort=date-sent # specifies mailbox sort criterion set sort=threads # try this sometime - it's neat! # set sort_alias=alias # specifies alias list sort criterion # set sort_aux=date-sent # when "sort=threads", order of threads set sort_aux=last-date-sent # puts thread with most recent addition last # set sort_browser=alpha # sort criterion for file browser # set spoolfile={$MAIL} # location of mailspool # set sort_re # set: thread children must begin with "reply_regexp" # This variable is only used if sorting by threads # and "strict_threads" is unset. # set status_chars="-*%A" # Characters used by "%r" indicator in "status_format" # set status_format # format of status line in the index menu. # set nostatus_on_top # set: put status bar on top of index screen set strict_threads # set: use In-Reply-To and References headers for # threading, instead of Subject headers. # set suspend # unset: suspend-key (^Z) doesn't suspend Mutt ###### T # set nothorough_search # set: decodes messages when searching bodies set tilde # set: nonexistent lines at end of msg # get displayed as a tilde (~) set timeout=60 # seconds until mutt checks folder for new mail # in the absence of a keystroke # set tmpdir="/tmp" # directory where temporary files are to be placed set to_chars="X+TCF" # indicators for how mail is addressed to you: # 1st char: mail not to you at all (BCC to you) # 2nd char: mail sent only to you (no CCs) # 3rd char: mail sent to you but with CCs # 4th char: mail CCed to you # 5th char: mail sent BY you # # default is " +TCF" ###### U # set nouncollapse_jump # set: jumps to next unread msg when current # thread is uncollapsed. set use_8bitmime # only set this when using sendmail 8.8.x! # invokes "-B8BITMIME flag in sendmail when # sending 8-bit messages, for ESMTP neg. # set use_domain # tacks "hostname" onto unqualified addys. # set use_from # unset: doesn't create From header. # (if you unset this, you'd BEST put a From # header in with the "my_hdr" command...) ###### V # set pgp_verify_sig=yes # # set verify_sig=yes # quad option to verify PGP/MIME signatures # this is called "pgp_verify_sig" but put in # the V's. So I'm hedging my bets. # set visual=$VISUAL # visual editor to use for ~v command in # Mutt's built-in editor ###### W set nowait_key # set: Mutt asks for a keypress after all external # commands. unset: only if nonzero exit status # set wrap_search # set: searches wrap around end of mailbox set write_inc=1 # display increment count for every n-th mail # set write_bcc # set: writes out Bcc header when preparing to send ###### X ###### Y ###### Z ###### Obsolete or undocumented: ## set alias_sort # not referenced (obsolete?) ## noconfirmfiles # obsolete since v80 ## noconfirmfolders # obsolete since v80 ## set delete_format # not referenced ## set edit_hdrs # obsolete, replaced by "edit_headers" ## set empty_to # not referenced ## set hdr_format # renamed to "index_format" with 92.8 ## set hold # was removed with mutt-0.89. Use "set move=no" instead! ## set indent_str # replaced by "indent_string" in 0.95.3 ## set local_sig # was removed with mutt-0.89. ## set pgp_pubring # obsolete? (not referenced) ## set pgp_replypgp # changed to pgp_replyencrypt with mutt-0.88 ## set pgp_secring # obsolete? (not referenced) ## set pgp_verify_sig # Didn't work in 0.95.1, weirdly placed in 0.95.3. # Look under V. ## set point_new # was removed with mutt-0.89. ## set post_indent_str # replaced by "post_indent_string" in 0.95.3. ## set references # not referenced ## set sendmail_bounce # removed with mutt-0.92 ## set thread_chars # obsolete with v83! replaced by "ascii_chars" ## set use_mailcap # replaced by "implicit_autoview" in 0.95.3 ## set verify_sig # has been changed to pgp_verify_sig ## ======================================================================== ## End of variables ## ======================================================================== ## ======================================================================== ## COMMANDS: ## ## For documentation on commands, see: ## http://www.mutt.org/doc/manual/manual-6.html ## ======================================================================== ###### Command alias : ## Syntax: alias
{,
...} ##--------------------------------------------------------------- ## Q: When redefining an alias - which definition will be used? ## ## A: The first one found in the list will be used! ##--------------------------------------------------------------- ## Q: Does MUTT remove parentheses from comments? ## ## A: It does for addresses of format "comment
" ## but not for addresses of format "address (comment)". ## This is correct by RFC0822! ##--------------------------------------------------------------- ## The "unalias" command exists, but is only useful to combat "sourced" ## files containing aliases you don't want. ## alias panixstaff Panix Staff ## ## looks like 0.95.3 has changed the order so mutt now recognizes the _last_ ## iteration of non-unique aliases rather than the _first_ one. ## alias satan bogus@bogus.org (How do you shoot the devil in the back?) alias satan satan@panix.com (Beelzebubbles) alias skyler skyler@panix.com (The fool who wrote this sample muttrc) alias samplegroup skyler,satan ###### Command alternative_order : ## Syntax: alternative_order { ...} ## ## Gives preferred order of MIME types to view in "multipart" or ## "alternative" attachments. ## alternative_order text/plain text text/enriched ###### Command auto_view : ## Syntax: auto_view { ...} ## ## Lists MIME types to show automatically, using entry from mailcap file ## ###### Command bind : ## Syntax: bind ## ## Values for : ## generic, alias, attach, browser, editor, index, compose, pager, ## pgp, postpone ## ## Special values for : \c{keystroke} maps ctrl-keystrokes ## (example: \cg is ctrl-g) ## , , , , , , , , ## , , , , , , , ## thru , \r (carriage return), \n (newline) ## ## For list of available functions in each menu, see: ## http://www.lemis.com/mutt/manual244.html#functions ## ## Description: MUTT allows you to bind a command to keys. ## # index bindings - obvious stuff bind index next-page bind index previous-page # bind index home first-message (didn't seem to work) # bind index end last-message (didn't seem to work) # index bindings - elm (mailer) style bind index + next-page bind index - previous-page ###### Command color : ## Syntax: color {} ## ## Objects names for mutt 0.90 are: ## attachment, body, bold, error, header, hdrdefault, index, ## indicator, markers, message, normal, quoted, quoted1, quoted2, ... ## search, signature, status, tilde, tree, underline. ## ## Color names: (these may also be prefixed with "bright" in foreground) ## white black green magenta blue cyan yellow red default colorx ## color quoted red black color quoted1 magenta black color quoted2 cyan black #### Command mono (related to color) : ## Syntax: mono {} ## ## Attributes are: none, bold, underline, reverse, standout. ## Otherwise, use the same as "color". ###### Command folder-hook : ## Syntax: folder-hook ## ## Lets you change settings based on which mailbox you're reading. ## NOTE: commands with quoted strings containing spaces must be set ## inside single quotes. folder-hook . 'set index_format="%4C %Z %{%b %d} %-15.15n (%4l) %s"' folder-hook sent 'set index_format="%4C %Z %{%b %d} %-15.15t (%4l) %s"' ###### Command ignore/unignore : ## Syntax: {un}ignore { ...} ## ## MUTT will not show "ignored" headers when showing the contents of a mail, ## ie strip these headers lines from the header before showing the header. ## "unignore" removes previously "ignored" items from the list. ## ## Ignore everything but the really important lines: # ignore * # unignore from date subject to cc reply-to: # unignore organization organisation x-mailer: x-newsreader: x-mailing-list: # unignore posted-to: ######Command hdr_order/unhdr_order : ## Syntax: {un}hdr_order { ...} ## ## You can specify the order in which you'd like to see headers! ## Woohoo! ## hdr_order From Date: From: To: Cc: Subject: ###### Command lists/unlists : ## Syntax: {un}lists { ...} ## ## MUTT has some nifty mailing list handling features. The lists command ## lets you designate mailing lists MUTT will recognize. ## NOTE: "list_name" is just the part before the "@" sign in the list ## address. DO NOT INCLUDE THE "@" OR THE DOMAIN HERE! ## "unlists" will remove a previously tagged list from the, um, list. ## ## example: if you're on a list with the address "feztassel@akbar.org", ## you'd say: ## ## lists feztassel ###### Command macro : ## Syntax: macro {} ## ## The macro command lets you, well, specify a macro. ## "key" and "sequence" use the same syntax as in the "bind" command. ## # Make 'I' go to the "Inbox" directly: macro index I "c!\n" macro pager I "c!\n" ###### Command mailboxes : ## Syntax: mailboxes { ...} ## ## This allows you to list the mailboxes that will receive new mail. ## Veeeery useful for you procmail addicts out there. ## ## When this is in use, you can press when changing folders to ## cycle through folders with new mail, or start Mutt with the "-y" ## option to _open it into a list of folders that contain new mail_. ## Cool huh? ## ## Oh, and you can use shortcuts like "!" and "=" in , too! ## ###### Command mbox-hook : ## Syntax: mbox-hook ## ## When you use multiple "spool" mailboxes, setting an "mbox-hook" on ## those will let Mutt auto-save read messages somewhere else when you ## leave that "spool" folder. ## ###### Command my_hdr/unmy_hdr : ## Syntax: {un}my_hdr ## ## Very simple; my_hdr lets you enter a prefab header, and ## unmy_hdr lets you unset a previously-set prefab header. ## my_hdr Organization: People Who Use Sample Files Unmodified my_hdr X-Cool-URL: http://www.mutt.org/ ###### Command push : ## Syntax: push ## ## This adds a string of keystrokes to the keyboard buffer. You can ## use this command at the end of a muttrc file for commands you want ## to run automatically, or set it in a "folder-hook" to run commands ## when opening a folder... ###### Command save-hook : ## Syntax: save-hook ## ## Saves mail automatically to if the message: ## was written by you and "To:" matches , or ## was written by someone else and "From:" matches . ## ###### Command send-hook : ## Syntax: send-hook ## ## Executes a Mutt command if a recipient's address matches . ## Great for custom sigs, specifying people to PGP-encrypt to by default, ## stuff like that. ## ###### Command set : ## Syntax: set {no|inv}{=}{ ...} ## ## See variables above. ## ## Also available: "inv" for boolean variables, for macros, ## toggle { ...}, ## unset { ...}, ## and reset { ...}. ## ###### Command source : ## Syntax: source ## ## This should go toward the beginning of the file if you want Mutt to ## read the commands in it first, and toward the end of the file if you ## want Mutt to read the commands in it last. Common sense. ## ## However, note that most commands and variables need to be _un_set ## before they can be _re_set. Caveat editor. ## ## ## That's all for now! -skyler ##