| 1 | # -*-muttrc-*- |
|---|
| 2 | |
|---|
| 3 | # |
|---|
| 4 | # Mutt configuration file of Thomas Roessler <roessler@does-not-exist.org> |
|---|
| 5 | # |
|---|
| 6 | # Use and distribute freely. |
|---|
| 7 | # |
|---|
| 8 | # Note: This file doesn't contain any personal customization, i.e., |
|---|
| 9 | # using it won't make you send messages with my name in the header. |
|---|
| 10 | # |
|---|
| 11 | # Things to change: You probably want to change the "priv.rc" source |
|---|
| 12 | # command in the end of this file. Also, it's likely you want to have |
|---|
| 13 | # a look at the the $editor and $tmpdir variables. |
|---|
| 14 | # |
|---|
| 15 | |
|---|
| 16 | # |
|---|
| 17 | # MIME settings |
|---|
| 18 | # |
|---|
| 19 | |
|---|
| 20 | # auto_view application/ms-tnef text/x-vcard |
|---|
| 21 | # auto_view application/x-chess application/x-lotus-notes |
|---|
| 22 | # auto_view text/html application/x-gzip application/x-gunzip |
|---|
| 23 | # auto_view application/rtf application/x-rath |
|---|
| 24 | # auto_view application/msword |
|---|
| 25 | |
|---|
| 26 | auto_view text/html |
|---|
| 27 | mime_lookup application/octet-stream |
|---|
| 28 | |
|---|
| 29 | # alternative_order application/pgp text/html text/enriched text/plain |
|---|
| 30 | alternative_order text/plain text/html |
|---|
| 31 | |
|---|
| 32 | |
|---|
| 33 | # |
|---|
| 34 | # Key bindings |
|---|
| 35 | # |
|---|
| 36 | |
|---|
| 37 | # |
|---|
| 38 | # A few of these may resemble Pine. ups. |
|---|
| 39 | # |
|---|
| 40 | |
|---|
| 41 | bind alias " " tag-entry |
|---|
| 42 | bind alias \n select-entry |
|---|
| 43 | bind alias \r select-entry |
|---|
| 44 | |
|---|
| 45 | bind attach i exit |
|---|
| 46 | bind attach n next-entry |
|---|
| 47 | bind attach p previous-entry |
|---|
| 48 | bind attach " " select-entry |
|---|
| 49 | bind attach y print-entry |
|---|
| 50 | |
|---|
| 51 | bind browser <end> last-entry |
|---|
| 52 | bind browser <home> first-entry |
|---|
| 53 | |
|---|
| 54 | bind editor "\e<backspace>" kill-word |
|---|
| 55 | bind editor "\e<delete>" kill-word |
|---|
| 56 | bind editor "<backtab>" complete-query |
|---|
| 57 | bind editor "\eq" complete-query |
|---|
| 58 | bind editor "\Ct" transpose-chars |
|---|
| 59 | |
|---|
| 60 | bind generic "\CV" next-page |
|---|
| 61 | bind generic "\Ca" first-entry |
|---|
| 62 | bind generic "\Ce" last-entry |
|---|
| 63 | bind generic "\eV" previous-page |
|---|
| 64 | bind generic "\ev" previous-page |
|---|
| 65 | bind generic + tag-entry |
|---|
| 66 | bind generic ^ first-entry |
|---|
| 67 | bind generic a tag-prefix |
|---|
| 68 | bind generic $ last-entry |
|---|
| 69 | bind generic q exit |
|---|
| 70 | |
|---|
| 71 | bind index ";" limit |
|---|
| 72 | bind index "\Ce" last-entry # override edit-type |
|---|
| 73 | bind index "\eV" previous-page # override collapse-something |
|---|
| 74 | bind index "\e<" collapse-thread |
|---|
| 75 | bind index "\eq" query |
|---|
| 76 | bind index $ last-entry |
|---|
| 77 | bind index * flag-message |
|---|
| 78 | bind index <delete> delete-message |
|---|
| 79 | bind index <end> last-entry |
|---|
| 80 | bind index <home> first-entry |
|---|
| 81 | bind index J next-entry |
|---|
| 82 | bind index K previous-entry |
|---|
| 83 | bind index Q quit |
|---|
| 84 | bind index R group-reply |
|---|
| 85 | bind index \em recall-message |
|---|
| 86 | bind index a tag-prefix |
|---|
| 87 | bind index m mail |
|---|
| 88 | bind index p previous-entry |
|---|
| 89 | bind index t create-alias |
|---|
| 90 | bind index x sync-mailbox |
|---|
| 91 | bind index y print-message |
|---|
| 92 | bind index n next-entry |
|---|
| 93 | bind index "\ev" previous-page |
|---|
| 94 | |
|---|
| 95 | bind pager "\Cn" next-line |
|---|
| 96 | bind pager "\Cp" previous-line |
|---|
| 97 | bind pager + tag-message |
|---|
| 98 | bind pager * flag-message |
|---|
| 99 | bind pager <delete> delete-message |
|---|
| 100 | bind pager <down> next-line |
|---|
| 101 | bind pager <end> bottom |
|---|
| 102 | bind pager <home> top |
|---|
| 103 | bind pager <up> previous-line |
|---|
| 104 | bind pager G group-reply |
|---|
| 105 | bind pager R group-reply |
|---|
| 106 | bind pager \em recall-message |
|---|
| 107 | bind pager t display-toggle-weed # like slrn |
|---|
| 108 | bind pager y print-message |
|---|
| 109 | |
|---|
| 110 | bind query i exit |
|---|
| 111 | |
|---|
| 112 | # make it feel like emacs |
|---|
| 113 | |
|---|
| 114 | macro generic "\ex" ":exec " |
|---|
| 115 | macro pager "\ex" ":exec " |
|---|
| 116 | macro generic "\eX" "\ex" |
|---|
| 117 | macro pager "\eX" "\ex" |
|---|
| 118 | |
|---|
| 119 | macro index "~" ";~" |
|---|
| 120 | # macro index "%" ";%" |
|---|
| 121 | |
|---|
| 122 | # Thread tagging |
|---|
| 123 | |
|---|
| 124 | bind index "\et" tag-subthread |
|---|
| 125 | bind index "\eT" tag-thread |
|---|
| 126 | |
|---|
| 127 | # for majordomo list owner and moderator jobs |
|---|
| 128 | |
|---|
| 129 | macro index "\ea" ":set nopipe_decode wait_key\n|approve\n:set nowait_key\n" |
|---|
| 130 | macro pager "\ea" ":set nopipe_decode wait_key\n|approve\n:set nowait_key\n" |
|---|
| 131 | |
|---|
| 132 | # emulate the old URL-browser key bindings. |
|---|
| 133 | |
|---|
| 134 | macro pager "\Cb" "| urlview -\n" |
|---|
| 135 | macro index "\Cb" "| urlview -\n" |
|---|
| 136 | |
|---|
| 137 | # permit limiting from the pager. |
|---|
| 138 | |
|---|
| 139 | macro pager "~" "<exit><limit>~" |
|---|
| 140 | macro pager ";" "<exit><limit>" |
|---|
| 141 | |
|---|
| 142 | # emulate the old POP-feature bindings |
|---|
| 143 | |
|---|
| 144 | macro index G "!fetchmail\n" |
|---|
| 145 | macro pager G "!fetchmail\n" |
|---|
| 146 | |
|---|
| 147 | # razor-report: Report spam. |
|---|
| 148 | |
|---|
| 149 | # macro index S ":set nopipe_decode nowait_key\n|razor-report > /dev/null 2> /dev/null\ns+junk\n" |
|---|
| 150 | # macro pager S ":set nopipe_decode nowait_key\n|razor-report > /dev/null 2> /dev/null\ns+junk\n" |
|---|
| 151 | macro index S "s+junk\n" |
|---|
| 152 | macro pager S "s+junk\n" |
|---|
| 153 | |
|---|
| 154 | # |
|---|
| 155 | # Colors |
|---|
| 156 | # |
|---|
| 157 | |
|---|
| 158 | # This is a tiny hack, so I can get different |
|---|
| 159 | # color schemes on the console and under X11. |
|---|
| 160 | |
|---|
| 161 | source ~/.mutt/colors.`if [ "$TERM" = "linux" ] ; then echo linux ; else echo default ; fi` |
|---|
| 162 | |
|---|
| 163 | mono index bold ~F |
|---|
| 164 | # mono body bold '\*[^*]+\*' |
|---|
| 165 | # mono body underline '_[^_]+_' |
|---|
| 166 | |
|---|
| 167 | # |
|---|
| 168 | # The header weed list |
|---|
| 169 | # |
|---|
| 170 | |
|---|
| 171 | ignore delivered-to |
|---|
| 172 | ignore content- errors-to in-reply-to mime-version |
|---|
| 173 | ignore lines precedence status |
|---|
| 174 | ignore nntp-posting-host path old-return-path received references |
|---|
| 175 | ignore priority >received >>received |
|---|
| 176 | ignore resent- return-path xref path |
|---|
| 177 | ignore x400 importance sensitivity autoforward original-encoded-information |
|---|
| 178 | ignore x- thread- |
|---|
| 179 | ignore DomainKey-Signature mail-followup-to |
|---|
| 180 | |
|---|
| 181 | ignore list- comments posted-to approved-by |
|---|
| 182 | |
|---|
| 183 | unignore x-spam-level x-url x-mailer list-id x-no-spam x-archived-at |
|---|
| 184 | unignore x-diagnostic |
|---|
| 185 | |
|---|
| 186 | hdr_order from to cc date subject reply-to mail-followup-to list-id |
|---|
| 187 | |
|---|
| 188 | # |
|---|
| 189 | # Various settings |
|---|
| 190 | # |
|---|
| 191 | |
|---|
| 192 | set abort_nosubject=no # Let me send messages with an empty subject |
|---|
| 193 | set abort_unmodified=no # Let me send empty messages |
|---|
| 194 | set alias_file=~/.mutt/aliases # Where to store aliases |
|---|
| 195 | unset allow_8bit # Produce correct MIME |
|---|
| 196 | unset arrow_cursor # Use the bar cursor |
|---|
| 197 | set askcc # Ask me about CCs |
|---|
| 198 | unset bounce_delivered # Don't include Delivered-to with bounces |
|---|
| 199 | # set charset=iso-8859-1 # The local character set |
|---|
| 200 | set send_charset="us-ascii:iso-8859-1:iso-8859-15:iso-8859-2:utf-8" |
|---|
| 201 | set confirmcreate # Ask me about creating new files |
|---|
| 202 | unset confirmappend # Don't ask me about appending to files |
|---|
| 203 | set delete=yes # Don't ask me whether or not I meant to delete messages |
|---|
| 204 | # set display_filter="tr '\240\204\223\226' ' \"\"-'" # fix some funny characters |
|---|
| 205 | set edit_hdrs # I want to edit the headers. |
|---|
| 206 | set editor="/usr/bin/jed %s -f 'mail_mode();'" |
|---|
| 207 | # Invoke jed with mail_mode. This may |
|---|
| 208 | # or may not work for you. |
|---|
| 209 | set noenvelope_from # set messages' envelope-from header. |
|---|
| 210 | set fcc_clear # Store local copies of messages in the clear. |
|---|
| 211 | set folder=~/Mail # Where my mail folders go |
|---|
| 212 | set followup_to # Create Mail-Followup-To headers. |
|---|
| 213 | unset force_name # Don't create save folders which don't exist. |
|---|
| 214 | set forward_decode # Decode messages when forwarding. |
|---|
| 215 | set forward_decrypt # Decrypt messages when forwarding. |
|---|
| 216 | set nohelp # No help line. |
|---|
| 217 | set include=yes # Always include a copy when replying. |
|---|
| 218 | set mark_old # Distinguish between seen (but unread) and new messages |
|---|
| 219 | set mbox=+mbox # The (unused) mbox file. |
|---|
| 220 | unset metoo # Remove me from CC headers. |
|---|
| 221 | set mime_fwd=ask-no # Ask me whether or not to create a MIME-encapsulated forward |
|---|
| 222 | set move=no # Don't use mbox |
|---|
| 223 | set pager_stop # Don't fall through to the next message in the pager |
|---|
| 224 | set pager_index_lines=0 # The pager index is ugly. |
|---|
| 225 | set pgp_replyencrypt # Encrypt when replying to encrypted messages. |
|---|
| 226 | set pgp_replysignencrypted # Sign when replying to encrypted messages. |
|---|
| 227 | set pgp_show_unusable="no" # Don't display unusable keys. |
|---|
| 228 | set pgp_sort_keys="keyid" # Sort keys by key ID |
|---|
| 229 | set pgp_replysign # Sign when replying to signed messages. |
|---|
| 230 | set pgp_timeout=3600 # Forget the PGP passphrase after an hour. |
|---|
| 231 | set pipe_decode # Decode messages I pipe to commands, typically to patch(1). |
|---|
| 232 | set postponed=~/.mutt/postponed # Where to put postponed messages |
|---|
| 233 | set print=ask-no # Don't waste paper |
|---|
| 234 | set print_cmd="enscript -2Gr -Email" # Two columns, landscape, fancy header. |
|---|
| 235 | set print_split=yes # Invoke enscript once per message |
|---|
| 236 | set quit=yes # Don't ask me whether or not I want to quit. |
|---|
| 237 | set quote_regexp="^ *[a-zA-Z]*[>|][>:|]*" # Recognize quotes in the pager. |
|---|
| 238 | set read_inc=50 # Progress indicator when reading folders. |
|---|
| 239 | set recall=ask-no # When I say "compose", ask me whether I want to continue |
|---|
| 240 | # composing a postponed message. |
|---|
| 241 | set record="+archive/now" # Put copies of most outgoing messages to ~/Mail/archive/now |
|---|
| 242 | set reply_to=ask-yes # Ask me whether I want to honor users' reply-to headers. |
|---|
| 243 | set reverse_alias # Use aliases to display real names on the index. |
|---|
| 244 | set save_name # Save copies by name. Together with $record and $save_name, |
|---|
| 245 | # this means that when a folder exists, copies of outgoing |
|---|
| 246 | # messages are written to ~/Mail/<name>, otherwise they go to |
|---|
| 247 | # ~/Mail/archive/now |
|---|
| 248 | set signature=~/.signature # Silly signature |
|---|
| 249 | set sig_dashes # Add dashes above my signature |
|---|
| 250 | set smart_wrap # Try to be smart when wrapping around lines in the pager |
|---|
| 251 | set sort=threads # sort by threads, |
|---|
| 252 | set sort_aux=date # then by date |
|---|
| 253 | unset strict_threads # don't be strict about threads |
|---|
| 254 | # set suspend=no # Don't suspend - I usually run mutt like this: "xterm -e mutt" |
|---|
| 255 | set tilde # Indicate empty lines in the pager. |
|---|
| 256 | set tmpdir=~/.tmp # Temporary files aren't stored in public places. |
|---|
| 257 | set to_chars=" +TCF " # Don't tag list mail in the index |
|---|
| 258 | |
|---|
| 259 | unset use_domain # Don't append a domain to addresses. |
|---|
| 260 | |
|---|
| 261 | set write_inc=50 # Progress indicator when writing folders. |
|---|
| 262 | set query_command="lbdb2q.pl %s" # Use the Little Brother's Database with the external |
|---|
| 263 | # query feature. |
|---|
| 264 | set sendmail_wait=-1 # Don't put sendmail into the background. |
|---|
| 265 | set encode_from # "From " in the beginning of a line triggers quoted-printable |
|---|
| 266 | set nowait_key # Return immediately from external programs |
|---|
| 267 | set forw_format="[fwd] %s (from: %a)" # A different subject for forwarded messages |
|---|
| 268 | set nobeep # Shut up. ;-) |
|---|
| 269 | set reply_regexp="^((re([\\[0-9\\]+])*|aw):[ \t]*)+[ \t]*" # A regular expression to detect replies |
|---|
| 270 | set header # Include the message header when replying. |
|---|
| 271 | set ignore_list_reply_to # Ignore Reply-To headers pointing to mailing lists. |
|---|
| 272 | set norfc2047_parameters # Sometimes, I get mails which use a bogus encoding for |
|---|
| 273 | # MIME parameters. Setting this shouldn't harm. |
|---|
| 274 | # (OK, she doesn't use Notes any more, so I can unset this. ;-) |
|---|
| 275 | # set text_flowed # Generate text/plain; format=flowed |
|---|
| 276 | # unset use_ipv6 # Don't try to use IPv6 - it doesn't work here. |
|---|
| 277 | set keep_flagged # don't move flagged messages to mbox |
|---|
| 278 | set hide_missing=yes # Don't show how many messages are missing in a thread structure |
|---|
| 279 | |
|---|
| 280 | set status_format="-%r-+(%v) %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]----%>-(%P)---" |
|---|
| 281 | set compose_format="--+(%v) Compose [Approx. msg size: %l Atts: %a]%>-" |
|---|
| 282 | set pager_format="-%Z- %C/%m: %.20n %> %s" |
|---|
| 283 | |
|---|
| 284 | set smileys="^$" |
|---|
| 285 | set ispell=iaspell |
|---|
| 286 | |
|---|
| 287 | set markers=no # Don't mark wrapped lines |
|---|
| 288 | set wrapmargin=4 # Leave a margin in the pager |
|---|
| 289 | |
|---|
| 290 | # PGP command configuration |
|---|
| 291 | # source ~/.mutt/pgp2.rc |
|---|
| 292 | source ~/.mutt/gpg.rc |
|---|
| 293 | set pgp_getkeys_command="" |
|---|
| 294 | |
|---|
| 295 | # source ~/.mutt/smime.rc |
|---|
| 296 | |
|---|
| 297 | |
|---|
| 298 | # source non-public stuff, (hooks, alternates, ...) |
|---|
| 299 | source ~/.mutt/priv.rc |
|---|
| 300 | |
|---|
| 301 | # source aliases |
|---|
| 302 | # source ~/.mutt/aliases-coruscant |
|---|
| 303 | source ~/.mutt/aliases |
|---|