mutt/muttrc @ 7840156f5d92

Moar.
author Steve Losh <steve@stevelosh.com>
date Mon, 11 Jun 2012 11:35:16 -0400
parents 62d4c0cef59c
children 103cee398cc5
# directories and commands
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       # entrys for filetypes
set signature        = ~/.mutt/sig           # my signature file
set tmpdir           = ~/.mutt/temp          # where to keep temp files
set print_command    = /usr/bin/enscript     # print with enscript

# Use Vim to compose email, with a few default options.
set editor = "vim +/^$ +:s/^$/\\\\r\\\\r/ +:noh -c 'normal! k' -c 'set nolist' -c 'redraw'"

# Use the OS X address book
set query_command = "lbdbq '%s' | sed -e 's/(null)//g'"
bind editor <Tab> complete-query
bind editor ^T    complete

# main options
set wait_key = no
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
set sort_alias = alias   # sort alias file by alias
set reverse_alias        # show names from alias file in index
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 spoolfile  = "+steve-stevelosh.com/INBOX" # GMail is default inbox

# index options
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 options
set pager_index_lines = 10 # number of index lines to show
set pager_context = 5      # number of context lines to show
set pager_stop             # don't go to next message automatically
set menu_scroll            # scroll in menus
set smart_wrap             # don't split words
set tilde                  # show tildes like in vim
unset markers              # no ugly plus signs
set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"

auto_view text/html                                   # view html automatically
alternative_order text/plain text/enriched text/html  # but prefer non-html

# alternate emails
alternates sjl@pculture.org still\.?life@gmail.com steve@ladyluckblues.com

# formats
set date_format   = "%m/%d"
set index_format  = "[%Z]  %D  %-20.20F  %s"
set status_format = "-%r- %v ---[ Folder: %f, Msgs: %m%?n? New: %n?%?d? Del: %d?%?t? Tag: %t?%?l? %l? ]%?p?---- .: %p waiting to send :. ?--%>- (%P) ---"
set alias_format  = "%4n %t %-20a  %r"

# composing mail
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 sendmail_wait = 0                # wait for sending to successfully finish, because email is important
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 to show
ignore *                                # ignore all headers
unignore from: to: cc: date: subject:   # show only these
hdr_order from: to: cc: date: subject:  # and in this order

# boxes
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

# always sourced
source ~/.vim/bundle/badwolf/contrib/badwolf.muttrc  # colorscheme
source ~/.mutt/steve-stevelosh.com.muttrc            # stevelosh.com account detail
source ~/.mutt/sidebar.muttrc                        # sidebar

# account specific sources
folder-hook steve-stevelosh.com/* source ~/.mutt/steve-stevelosh.com.muttrc

# unbind problematic keys
bind index,pager \# noop
bind index i        noop
bind index w        noop

# basic bindings
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 index,pager 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 \Cp      recall-message
bind index <space>  collapse-thread

# 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"

# Searching bodies
macro index B "<limit>~b " "search message bodies"

# Opening links in mail
macro pager \Cu "|urlview<enter>" "call urlview to open links"

# Mark all as read
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"

# Open message in MacVim
macro index,pager M "|mvim -c 'setlocal ft=mail' -c 'setlocal buftype=nofile' - >/dev/null<enter>"  "open in macvim"

# 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"

# 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"

# save a decoded copy in ~
macro index,pager P   "<pipe-message>cat > ~/Desktop/"  "save message as"