-
Notifications
You must be signed in to change notification settings - Fork 5
/
muttrc
191 lines (140 loc) · 6.05 KB
/
muttrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# Muttrc
# ------
#
# Most of this has been "stolen" from Steve Losh
# https://hg.stevelosh.com/dotfiles/file/tip/mutt
# Paths
set alias_file = ~/.mutt/alias # alias file
set mailcap_path = ~/.mutt/mailcap # entries for filetypes
set signature = ~/.mutt/sig # my signature file
set tmpdir = ~/.mutt/temp # where to keep temp files
# Use Vim to compose email, with a few default options.
# set editor = "emacsclient -nc"
set editor = "vim -c 'normal! }' -c 'redraw' -c 'set spell'"
# 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 ~/dotfiles/mutt/mutt-colors-solarized-dark-16.muttrc
source ~/dotfiles/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
auto_view text/html
# 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 = "%Y-%m-%d %H:%M"
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 = "Honza Pokorny" # who am i?
set envelope_from # which from?
unset sig_dashes
set sig_on_top # Signature before the quote
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
# honza.ca
# Default inbox.
set spoolfile = "+aliases/honza"
# Mailboxes to show in the sidebar.
mailboxes +aliases/redhat \
+aliases/honza \
+aliases/gmail \
+aliases/pokorny \
+aliases/kids
# Other special folders.
set mbox = "honza/archive"
set postponed = "honza/drafts"
# Sending email.
set from = "me@honza.ca"
set sendmail = "/usr/bin/msmtp -a honza"
set sendmail_wait = 0 # no please don't silently fail, email is important
unset record
# Account Hooks
folder-hook +aliases/redhat source ~/dotfiles/mutt/redhat.muttrc
folder-hook +aliases/honza source ~/dotfiles/mutt/honza.muttrc
folder-hook +aliases/pokorny source ~/dotfiles/mutt/pokorny.muttrc
folder-hook +aliases/gmail source ~/dotfiles/mutt/gmail.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"
# Sync email
macro index o "<shell-escape>mbsync inboxes<enter>"
macro index O "<shell-escape>mbsync all-mail<enter>"
# Just use notmuch for everything
#
# https://github.com/honza/mutt-notmuch-py
macro index / "<enter-command>unset wait_key<enter><shell-escape>~/code/mutt-notmuch-py/mutt-notmuch-py -G<enter><change-folder-readonly>~/.cache/mutt_results<enter>" \
"search mail (using notmuch)"
# Unlimit aka show [a]ll
macro index a "<limit>all\n" "show all messages (undo limit)"
# Attachment
# View
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"