# Mutt key bindings. bind index noop bind index noop bind index next-new bind index previous-new bind index previous-undeleted bind pager previous-entry bind index next-undeleted bind pager next-entry bind index previous-entry bind pager previous-line bind index next-entry bind pager next-line bind browser select-entry bind browser select-entry bind index = noop bind index - collapse-all bind index _ collapse-thread bind index,pager @ flag-message bind index,pager $ flag-message bind index ] current-bottom bind pager ] next-line bind index [ current-top bind pager [ previous-line bind pager { half-up bind pager } half-down bind index \\ current-middle macro index,pager \ > '?' 'change folder' macro index,pager \ . '' 'change to default folder' bind index 0 first-entry macro index,pager \ a \ '~/mail/Ignore/xx.annoying' \ 'move to annoying-person folder' macro pager \cb '|urlview\n' 'pipe to urlview' bind browser b search-opposite bind index C noop bind index c mail bind index \ec copy-message #macro index d '' "delete thread" macro index d '' "delete thread" macro index i '' "delete thread" bind index D delete-message bind index d delete-subthread macro index \cd '' "delete pattern" #macro pager d '' #macro pager D '' #macro pager d '' bind pager d delete-message bind pager D delete-subthread bind pager d delete-thread bind index f set-flag bind pager f noop bind index,pager F forward-message bind index \cF clear-flag bind browser f enter-mask # 0 -> 1 macro index \ei \ ':set index_format="%5C %[%G %b] %-10.10L %3M %4c %?N?#%4Z&%5Z? %s"; \ macro index "\ei" "\cA" "index - no sender/list"' \ "index cycle start" # 1 -> 2 macro index \eF \ ':set index_format="%5C %[%G %b] %-10.10L %3M %4c %?N?#%4Z&%5Z? %s"; \ macro index "\ei" "\cA" "index - no sender/list"' \ "index - list" # 2 -> 3 macro index \cA \ ':set index_format="%5C %[%G.%m%d.%H%M] %3M %4c %?N?#%4Z&%5Z? %s"; \ macro index "\ei" "\eI" "index - sender (a)"' \ "index - no sender/list" # 3 -> 4 macro index \eI \ ':set index_format="%5C %[%b %d] %-15.15a %3M %4c %?N?#%4Z&%5Z? %s"; \ macro index "\ei" "\ef" "index - sender (b)"' \ "index - sender (a)" # 4 -> 1 macro index \ef \ ':set index_format="%5C %[%b %d.%H%M] %-8.8F %3M %4c %?N?#%4Z&%5Z? %s"; \ macro index "\ei" "\eF" "index - list"' \ "index - sender (b)" bind index G last-entry bind index,pager g group-reply bind index H noop bind index h noop bind index I delete-message #macro pager i '' bind pager i delete-message macro browser i \ 'a;:macro browser "i" "\eI" "sort by date"' 'sort toggle' macro browser \ei \ 'a;:macro browser "i" "\eI" "sort by date"' 'sort by name' macro browser \eI \ 'd;:macro browser "i" "\ei" "sort by name"' 'sort by date' bind index,pager,browser \ j previous-entry bind index,pager,browser \ k next-entry bind index L limit bind index,pager,browser l next-entry bind index,pager \el list-reply bind browser m noop bind index N noop bind index n toggle-new bind pager n search-next bind pager N next-unread bind pager n mark-as-new bind pager \cN next-thread bind browser N check-new bind index o sync-mailbox # Sort threads. # 0 -> 1 macro index O \ ':source "~/cf/mutt/mutt-score.cf"; set sort="threads"; set sort_aux="reverse-last-score"; \ macro index "O" "\eo" "Sort by score/threads"' \ "Sort by last-score/threads" # 1 -> 2 macro index \cO \ ':source "~/cf/mutt/mutt-score.cf"; set sort="threads"; set sort_aux="reverse-last-score"; \ macro index "O" "\eo" "Sort by score/threads"' \ "Sort by last-score/threads" # 2 -> 1 macro index \eo \ ':unscore "*"; set sort="threads"; set sort_aux="last-date-received"; \ macro index "O" "\cO" "Sort by score/threads"' \ "Sort by last-date-received/threads" bind pager o exit bind pager O exit bind index p previous-entry bind index P first-entry bind index,pager \eP parent-message bind index,pager \cP parent-message bind pager p noop bind pager P noop bind index q quit bind index Q exit bind pager q exit bind pager Q quit bind index,pager r reply bind index,pager R read-thread bind index r recall-message bind pager \cR noop bind pager r recall-message bind index s save-message macro index S \ ':unscore "*"; source "~/cf/mutt/mutt-score.cf"' \ 'Score messages' macro index s \ '~/mail/Ignore/xx.spam' \ 'Move to spam folder' macro pager s \ '~/mail/Ignore/xx.spam' \ 'Move to spam folder' bind index t tag-entry bind index T tag-pattern macro index t '~T' 'un tag tagged messages' bind index T tag-thread bind index \ct untag-pattern bind index U undelete-thread macro index u '~D' 'un delete message marked delete' bind index U undelete-subthread bind index \cu undelete-pattern bind pager u undelete-message bind pager U undelete-subthread bind pager \cu undelete-thread bind index,pager v view-attachments macro index v \ ' ~r>1mS' \ "move >1 month old mail" macro index,pager \ W 'w3m' \ "pipe attachment to w3m" macro index,pager,attach \ \cw 'w3m' \ "pipe attachment to w3m" bind index,pager w noop macro pager w \ ':set markers=no; set smart_wrap=no; set wrapmargin=0;\ macro pager w "\eW" "wrap toggle"' \ 'wrap toggle' macro pager \ew \ ':set markers=no; set smart_wrap=no; set wrapmargin=0;\ macro pager w "\eW" "wrap toggle"' \ 'no wrap' macro pager \eW \ ':set markers=yes; set smart_wrap=yes; set wrapmargin=4;\ macro pager w "\ey" "wrap toggle"' \ 'wrap' macro pager \ey \ ':set markers=no; set smart_wrap=yes; set wrapmargin=4;\ macro pager w "\ew" "wrap toggle"' \ 'wrap' bind index x sync-mailbox bind pager x exit macro index X '' 'change to default folder' macro pager X '' 'change to default folder' # # delete messages related to freebsd-current macro index X \ '~s \"-current\" ~h \"^\\From .*@(freebsd|FreeBSD)\.(org|ORG)\"' \ "delete -current titled messages" # hightlight/mark freebsd-4 related cvs messages macro index Y \ '~h "^\\X-FreeBSD-CVS-Branch:.*RELENG_6$" !~F~T' \ "mark freebsd-5 related cvs messages" bind pager z exit # There is problem using "~N~P" to tag messages as sometimes "N" # new message indicator is cleared for messages not sent by me. # # It happens when "tag-pattern" doesn't find any messages, resulting # in "tag-prefix" failure. that, in turn, cause "clear-flag" to run # independently of "tag-prefix" failure result. And that causes any # first unread message to be marked read. # # Oh, by the way same unread thing will happen when tagging "~P" fails. # # is a patched function courtesy of Nicolas Rachinsky, # , http://www.rachinsky.de/nicolas/mutt.html # # This patch solves the above mentioned problem. # # Feb 27 2004 - This patch has been included in mutt since 1.5.5; # 'end_cond' has been renamed to 'end-cond'. # ---- macro index "\eZ" \ '~P(~N|~O)NO~P' \ "mark messages read sent by me" ## ---- folder hooks ---- # mark all (new) messages read based on folder name folder-hook 'xx\.' \ 'push "~N|~ONO~T"' # delete new messages, mostly replies, if 'X-FreeBSD-CVS-Branch:' header is # missing; hightlight/mark freebsd- related cvs # messages (\eY) folder-hook 'i\.f-cvs*' \ "push '(~N|~O) !~D~h \"^\\X-FreeBSD-CVS-Branch:.*HEAD\"\eY'" # mark messages sent by me read & collapse all threads # ---- # i found it be necessary to run w/ the "\eZ". otherwise, # the "mark-my-msg-read" wasn't working as threads were being collapsed # before the "\eZ" had time to act. is from the above mentioned # patch. # ---- folder-hook '.' "push '\eZ'" # set default outgoing mailing address, From: folder-hook '.' "set from=''" # Strict threads folder-hook '.' "set strict_threads=no" folder-hook 'i$|out' "set strict_threads=yes" # Thread sort/Index format # -- # Pushing a key sequence disengages any later $index_format settings # -- folder-hook '.' \ ' set sort=threads; set sort_aux=last-date-received;\ set sort_re=yes;\ set index_format="%5C %[%b %d] %-8.8F %3M %4c %?N?#%4Z&%5Z? %s"\ ' #push "\eI"\ folder-hook 'minolta' \ ' set strict_threads=no\ ' folder-hook 'ebay' \ ' set strict_threads=yes\ ' folder-hook '(xx\.s|S)pam' \ ' set strict_threads=yes;\ set index_format="%5C %[%b %d %H%M] %-11.11F %3M %4c %4Z %s"\ ' folder-hook 'annoy' \ ' set strict_threads=no;\ set sort=from;\ set index_format=" %-10.10F %-31.31A %-i"\ ' folder-hook '/[Oo]ut' \ 'set index_format="%5C %[%G %b %d] %-11.11L %3M %4c %?N?#%4Z&%5Z? %s"' folder-hook '[Aa]rchive' \ 'set index_format="%5C %[%G %m%d %H%M] %-11.11F %3M %4c %?N?#%4Z&%5Z? %s"' # Display. folder-hook '.' "set display_filter='mail-char-replace'" # ---- send-hook ---- # # set $record send-hook '.' "set record='~/mail/Out/outbox'" send-hook 'minolta@yahoo' "set record='~/mail/Out/out.minolta'" send-hook '@pair\.com' "set record='~/mail/Out/out.pair'" send-hook '@fvwm\.org' "set record='~/mail/Out/out.fvwm'" send-hook '@freebsd\.org' "set record='~/mail/Out/out.freebsd'" send-hook '(@mutt\.org|@.*(rwth-aachen\.de|procmail\.org))' \ "set record='~/mail/Out/out.mail'" # compressed folder hooks # ---- # See http://www.spinnaker.de/mutt/compressed/ # ---- open-hook '\.bz2$' "bzip2 -c -d %f > %t" append-hook '\.bz2$' "bzip2 -c -8 %t >> %f" close-hook '\.bz2$' "bzip2 -c -8 %t > %f" open-hook '\.gz$' "gzip -c -d %f > %t" append-hook '\.gz$' "gzip -c -8 %t >> %f" close-hook '\.gz$' "gzip -c -8 %t > %f"