Skip to content

Instantly share code, notes, and snippets.

@ariver
Last active August 29, 2015 14:03
Show Gist options
  • Save ariver/494aaf6915f8e3ed66f8 to your computer and use it in GitHub Desktop.
Save ariver/494aaf6915f8e3ed66f8 to your computer and use it in GitHub Desktop.
# vim: filetype=muttrc
#
##
### BINDs & MACROs for Mutt
##
#
#
## Overrides
#
macro generic \cl \
"<enter-command> source \$alias_file<enter><refresh>" \
"Reload Aliases; Refresh"
#bind index t tag-thread
#macro index t "<collapse-thread><tag-thread>" "Toggle & Tag Thread"
# Report What Key is Activated Next
# ( Useful for finding key(-combos) to use for bind/macro. )
bind index,pager ,,k what-key
# Toggle Display of Mailbox Selection ( like "mutt -y" )
macro index,pager y "<change-folder>?" "Toggle Display of Mailbox Selection"
macro browser y "<exit>" "Toggle Display of Mailbox Selection"
macro index,pager,attach,compose ,pu \
"\
<enter-command> set my_resolve=\$resolve resolve=no<enter>\
<enter-command> set my_wait_key=\$wait_key wait_key=no<enter>\
<enter-command> set my_pipe_decode=\$pipe_decode pipe_decode=yes<enter>\
<pipe-message> urlview<enter>\
<enter-command> set pipe_decode=\$my_pipe_decode nomy_pipe_decode<enter>\
<enter-command> set wait_key=\$my_wait_key nomy_wait_key<enter>\
<enter-command> set resolve=\$my_resolve nomy_resolve<enter>\
" \
"Extract URLs"
#
## Affect Tagged Messages or Current Message..
## ( ref: http://unix.stackexchange.com/questions/102829/mutt-save-message-to-specific-folder )
#
macro index ,sa \
"\
<enter-command> set my_confirmappend=\$confirmappend confirmappend=no<enter>\
<enter-command> set my_delete=\$delete delete=yes<enter>\
<enter-command> set my_resolve=\$resolve resolve=no<enter>\
<tag-prefix><clear-flag>N\
<tag-prefix><save-message>+Archive<enter>\
<sync-mailbox>\
<enter-command> set confirmappend=\$my_confirmappend nomy_confirmappend<enter>\
<enter-command> set delete=\$my_delete nomy_delete<enter>\
<enter-command> set resolve=\$my_resolve nomy_resolve<enter>\
" \
"Archive Messages"
macro index ,st \
"\
<enter-command> set my_confirmappend=\$confirmappend confirmappend=no<enter>\
<enter-command> set my_delete=\$delete delete=yes<enter>\
<enter-command> set my_resolve=\$resolve resolve=no<enter>\
<tag-prefix><clear-flag>N\
<tag-prefix><save-message>+Trash<enter>\
<sync-mailbox>\
<enter-command> set confirmappend=\$my_confirmappend nomy_confirmappend<enter>\
<enter-command> set delete=\$my_delete nomy_delete<enter>\
<enter-command> set resolve=\$my_resolve nomy_resolve<enter>\
" \
"Trash Messages"
#
## Limit Presets
#
macro index ,l0 \
"<limit>.<enter>" \
"Limit: ALL"
macro index ,l1 \
"\
<limit>\
~( \
~s \"where\'s\" | ~s wheres | ~s \"where is\" | ~s \"where be\" | \
~s sick | ~s \" late\"\\> | \
~s ooo | ~s wfh | ~s eto | ~s vacation | ~s coverage | ~s holiday \
) \
!~( ~C github | ~f tickets | ~f confluence )\
!~( ~F )\
<enter>\
" \
"Limit: Out/Sick/Late/etc"
# CENSORED ;>
macro index ,l90 \
"<limit>~( ~n 9- | ~F )<enter>" \
"Limit: High Priority"
# Custom Wrapping in Pager Display
set my_wrapfilter__="wrap -M -e \"\\|\" -w $((COLUMNS-10)) -H"
set my_wrapfilter_i="wrap -M -e \"\\|\" -i $((COLUMNS-10)) -H"
set my_wrapfilter_r="wrap -M -e \"\\|\" -r $((COLUMNS-10)) -H"
macro pager ,dd \
"<exit><display-message>" \
"Default Display"
macro pager ,dw \
"\
<enter-command> set my_display_filter=\$display_filter display_filter='$my_wrapfilter__'<enter>\
<exit><display-message>\
<enter-command> set display_filter=\$my_display_filter nomy_display_filter<enter>\
" \
"Wrap"
macro pager ,di \
"\
<enter-command> set my_display_filter=\$display_filter display_filter='$my_wrapfilter_i'<enter>\
<exit><display-message>\
<enter-command> set display_filter=\$my_display_filter nomy_display_filter<enter>\
" \
"Wrap: Indent 1st Paragraph"
macro pager ,dr \
"\
<enter-command> set my_display_filter=\$display_filter display_filter='$my_wrapfilter_r'<enter>\
<exit><display-message>\
<enter-command> set display_filter=\$my_display_filter nomy_display_filter<enter>\
" \
"Wrap: Respect Line Breaks"
#
## View Message in Default Browser
#
macro index,pager ,pw \
"\
<enter-command> set my_pipe_decode=\$pipe_decode pipe_decode=no<enter>\
<enter-command> set my_wait_key=\$wait_key wait_key=no<enter>\
<pipe-message> viewhtmlmsg<enter>\
<enter-command> set pipe_decode=\$my_pipe_decode nomy_pipe_decode<enter>\
<enter-command> set wait_key=\$my_wait_key nomy_wait_key<enter>\
" \
"View HTML Message in Default Browser"
macro index,pager ,pW \
"\
<enter-command> set my_pipe_decode=\$pipe_decode pipe_decode=no<enter>\
<enter-command> set my_wait_key=\$wait_key wait_key=no<enter>\
<pipe-message> viewhtmlmsg -s<enter>\
<enter-command> set pipe_decode=\$my_pipe_decode nomy_pipe_decode<enter>\
<enter-command> set wait_key=\$my_wait_key nomy_wait_key<enter>\
" \
"View Safe-HTML Message in Default Browser"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment