moar
author |
Steve Losh <steve@stevelosh.com> |
date |
Sun, 22 Jul 2012 16:06:25 -0400 |
parents |
553d109e7c61 |
children |
cbbbc897e9b3 |
# Paths {{{
set alias_file = ~/.mutt/alias # alias file
set header_cache = ~/.mutt/cache/headers # where to store headers
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 signature = ~/.mutt/sig # my signature file
set tmpdir = ~/.mutt/temp # where to keep temp files
# }}}
# Editor {{{
# Use Vim to compose email, with a few default options.
set editor = "vim -c 'normal! }' -c 'redraw'"
# }}}
# Contacts {{{
# Use the OS X address book
set query_command = "contacts -Sf '%eTOKEN%n' '%s' | sed -e 's/TOKEN/\t/g'"
bind editor <Tab> complete-query
bind editor ^T complete
# }}}
# Basic Options {{{
source ~/.vim/bundle/badwolf/contrib/badwolf.muttrc # colorscheme
source ~/.mutt/sidebar.muttrc # sidebar
set wait_key = no # shut up, mutt
set mbox_type = Maildir # mailbox type
set folder = ~/.mail # mailbox location
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
# }}}
# 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]+\])?: *)?(\[[^]]+\] *)?)*"
# }}}
# 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
# }}}
# Compose View Options {{{
set realname = "Steve Losh" # who am i?
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
# }}}
# Headers {{{
ignore * # ignore all headers
unignore from: to: cc: date: subject: # show only these
hdr_order from: to: cc: date: subject: # and in this order
# }}}
# steve@stevelosh.com {{{
# Default inbox.
set spoolfile = "+steve-stevelosh.com/INBOX"
# Alternate email addresses.
alternates sjl@pculture.org still\.?life@gmail.com steve@ladyluckblues.com steve@pculture.org
# Mailboxes to show in the sidebar.
mailboxes +steve-stevelosh.com/INBOX \
+steve-stevelosh.com/vim \
+steve-stevelosh.com/clojure \
+steve-stevelosh.com/python \
+steve-stevelosh.com/mercurial \
+steve-stevelosh.com/archive \
+steve-stevelosh.com/sent \
+steve-stevelosh.com/drafts \
# Other special folders.
set mbox = "+steve-stevelosh.com/archive"
set postponed = "+steve-stevelosh.com/drafts"
# Sending email.
set from = "steve@stevelosh.com"
set sendmail = "/usr/local/bin/msmtp -a stevelosh"
set sendmail_wait = 0 # no please don't silently fail, email is important
unset record
# }}}
# Account Hooks {{{
# folder-hook steve-stevelosh.com/* source ~/.mutt/steve-stevelosh.com.muttrc
# }}}
# Key Bindings {{{
# Unbind Stupid Keys {{{
bind index,pager \# noop
bind index i noop
bind index w noop
# }}}
# Pager {{{
bind pager i exit
bind pager / search
bind pager k previous-line
bind pager j next-line
bind pager gg top
bind pager G bottom
bind pager R group-reply
macro pager \Cu "|urlview<enter>" "call urlview to open links"
macro pager s "<pipe-message>cat > ~/Desktop/" "save message as"
# }}}
# Index {{{
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
macro index s "<pipe-message>cat > ~/Desktop/" "save message as"
# Mark all as read
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
# Quickly change date formats
macro index <esc>f ":set date_format = \"%m/%d\"<enter>" "short date format"
macro index <esc>F ":set date_format = \"%m/%d at %I:%M %P\"<enter>" "long date format"
# Sync email
macro index O "<shell-escape>offlineimap -q<enter>" "run offlineimap to sync mail in the foreground"
macro index o "<shell-escape>offlineimap -q >/dev/null 2>&1 &<enter>" "run offlineimap to sync mail in the background"
# 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 \' "<change-folder>+steve-stevelosh.com/INBOX<enter>" "go to stevelosh/INBOX"
macro index \" "<change-folder>+steve-stevelosh.com/archive<enter>" "go to stevelosh/archive"
# Just use notmuch for everything
macro index / "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | tr '+' '.' | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern"
# Unlimit aka show [a]ll
macro index a "<limit>all\n" "show all messages (undo limit)"
# }}}
# Compose {{{
bind compose p postpone-message
# }}}
# Attachment {{{
# View, god dammit!
bind attach <return> view-mailcap
# }}}
# "Open in Vim" {{{
macro index,pager V "|vim -c 'setlocal ft=mail' -c 'setlocal buftype=nofile' -<enter>" "open in vim"
macro index,pager M "|mvim -c 'setlocal ft=mail' -c 'setlocal buftype=nofile' - >/dev/null<enter>" "open in macvim"
# }}}
# }}}