mutt/muttrc @ d1b9a524e5fe default tip
More
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Wed, 22 Oct 2025 15:48:44 -0400 |
| parents | a67a81af0dbd |
| children | (none) |
# Paths {{{ set alias_file = ~/.mutt/alias # where to store aliases set header_cache = ~/.mutt/cache/headers # where to store headers set header_cache_backend=tokyocabinet set message_cachedir = ~/.mutt/cache/bodies # where to store bodies # set certificate_file = ~/.mutt/certificates # where to store certs set mailcap_path = ~/.mutt/mailcap # entries for filetypes set tmpdir = ~/.mutt/temp # where to keep temp files # }}} # Editor {{{ # Use Vim to compose email, with a few default options. set editor = "nvim -c 'set ft=mdmail' -c 'normal! }' -c 'redraw'" # }}} # Contacts {{{ set query_command = "search-contacts" bind editor <Tab> complete-query # }}} # Basic Options {{{ source ~/.vim/bundle/badwolf/contrib/badwolf.muttrc set folder = ~/.mail2 # mail location set wait_key = no # shut up, mutt set mbox_type = Maildir # mailbox type set timeout = 3 # idle time before scanning set mail_check = 0 # minimum time between scans unset move # gmail does that set delete # don't ask, just do unset confirmappend # don't ask, just do! set quit # don't ask, just do!! unset mark_old # read/new is good enough for me set beep_new # bell on new mails set pipe_decode # strip headers and eval mimes when piping set thorough_search # strip headers and eval mimes before searching set send_charset="us-ascii:utf-8:iso-8859-1" set use_from # respect the From: address the editor sends back set sleep_time=0 # don't take for fucking ever to switch folders # }}} # PGP {{{ set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f" set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f" set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f" set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f" set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f" set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r" set pgp_import_command="gpg --no-verbose --import -v %f" set pgp_export_command="gpg --no-verbose --export --armor %r" set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r" set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r" set crypt_verify_sig=yes message-hook '!(~g|~G) ~b"^-----BEGIN\ PGP\ (SIGNED\ )?MESSAGE"' "exec check-traditional-pgp" # set these in .mutt-local with the appropriate encrypt-to key id # set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x7438228A -- -r %r -- %f" # set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x7438228A -- -r %r -- %f" # }}} # Sidebar Patch {{{ set sidebar_divider_char = '│' set sidebar_visible = yes set sidebar_width = 25 color sidebar_new color221 color233 color sidebar_highlight brightcolor39 color233 color sidebar_indicator brightcolor7 color233 bind index,pager <down> sidebar-next bind index,pager <up> sidebar-prev bind index,pager <right> sidebar-open set mail_check_stats set sidebar_format = "%B %> %S " # }}} # Status Bar {{{ set status_chars = " *%A" set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" # }}} # Index View Options {{{ set date_format = "%m/%d" set index_format = "[%Z] %D %-20.20F %s" set sort = threads # like gmail set sort_aux = reverse-last-date-received # like gmail set uncollapse_jump # don't collapse on an unread message set sort_re # thread based on regex set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" set folder_format = "%2C %t %N %8s %f" # }}} # Pager View Options {{{ set pager_index_lines = 10 # number of index lines to show set pager_context = 3 # number of context lines to show set pager_stop # don't go to next message automatically set menu_scroll # scroll in menus set tilde # show tildes like in vim unset markers # no ugly plus signs set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" alternative_order text/plain text/enriched text/html set display_filter = "clean_mail" # clean up shitty mail # }}} # Compose View Options {{{ set envelope_from # which from? set sig_dashes # dashes before sig set edit_headers # show headers when composing set fast_reply # skip to compose when replying set askcc # ask for CC: set fcc_attach # save attachments with the body unset mime_forward # forward attachments as part of body set forward_format = "Fwd: %s" # format of subject when forwarding set forward_decode # decode when forwarding set attribution = "On %d, %n wrote:" # format of quoting header set reply_to # reply to Reply to: field set reverse_name # reply as whomever it was to set include # include message in replies set forward_quote # include message in forwards # }}} # Attachment View Options {{{ set attach_format = "[%D %t] %2n [%-7.7m/%10.10M] %.40d %> [%s] " # }}} # Headers {{{ ignore * # ignore all headers unignore from: to: cc: date: subject: # show only these unhdr_order * hdr_order from: to: cc: date: subject: # and in this order # }}} # Accounts {{{ set sendmail_wait = 0 # no please don't silently fail, email is important unset record source ~/.mutt/accounts # }}} # Key Bindings {{{ # Index {{{ bind index g noop bind index \# noop bind index R group-reply bind index <tab> sync-mailbox bind index k previous-entry bind index j next-entry bind index gg first-entry bind index G last-entry bind index p recall-message bind index <space> collapse-thread bind index N search-opposite bind index B sidebar-toggle-visible # macro index s "<pipe-message>cat > ~/Desktop/" "save message as" # Sorting macro index <f1> "<enter-command>set sort = threads<enter><enter-command>set sort_aux = reverse-last-date-received<enter>" "sort with newest first" macro index <f2> "<enter-command>set sort = threads<enter><enter-command>set sort_aux = date-received<enter>" "sort with oldest first" bind index <f3> sort-reverse # Mark all as read macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read" # Sync email macro index O "<sync-mailbox><shell-escape>mbsync --all<enter><sync-mailbox>" "run mbsync to sync all mail" macro index o "<sync-mailbox><shell-escape>mbsync mail-inbox<enter><sync-mailbox>" "run mbsync to sync inbox" # Saner copy/move dialogs macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox" macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox" # Quickly change mailboxes macro index c "<change-folder>?<toggle-mailboxes>" "change folder" # Search with notmuch macro index S "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py -G ~/.mail/search<enter><change-folder-readonly>~/.mail/search<enter>" "search mail (using notmuch)" # Unlimit (show [a]ll) macro index a "<limit>all\n" "show all messages (undo limit)" # }}} # Pager {{{ bind pager \# noop bind pager g noop bind pager k previous-line bind pager j next-line bind pager gg top bind pager G bottom bind pager R group-reply bind pager N search-opposite # macro pager \Cu "|urlview<enter>" "call brows to open links" macro pager \Cu "|brows<enter>" "call brows to open links" macro pager s "<pipe-message>cat > ~/Desktop/" "save message as" # Quickly change mailboxes macro pager \' "<exit><change-folder>+sjl/INBOX<enter>" "go to INBOX" macro pager \" "<exit><change-folder>+sjl/archive<enter>" "go to archive" # }}} # Compose {{{ bind compose p postpone-message bind compose P pgp-menu macro compose H "| htmlify-email<enter><attach-file>~/.mutt/temp/neomutt-alternative.html<enter><tag-entry><previous-entry><tag-entry><toggle-disposition><group-alternatives>" # }}} # Attachment {{{ # View, god dammit! bind attach <return> view-mailcap # }}} # "Open in Vim" {{{ macro index,pager V "|nvim -c 'setlocal ft=mail' -c 'setlocal buftype=nofile' -<enter>" "open in vim" # }}} # }}} # Local Settings {{{ # source `FILE=$HOME/.mutt-local; if [ ! -s "$FILE" ]; then FILE=/dev/null;fi;echo "$FILE"` source ~/.mutt-local # }}}