]> git.madduck.net Git - etc/mutt.git/blobdiff - .mutt/keybindings

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

do not send multipart messages to vger.kernel.org
[etc/mutt.git] / .mutt / keybindings
index 6a33e3b02483c8129a307210833dfca489968b97..fcb1c9ebce2779faf33cfae05b6559df2e4c56b8 100644 (file)
@@ -1,3 +1,5 @@
+macro generic,pager <F1> "<shell-escape> zcat /usr/share/doc/mutt/manual.txt.gz | sensible-pager<enter>" "show Mutt documentation"
+
 bind index,pager       |       pipe-message
 bind index,pager       !       flag-message
 bind index,pager       \eP     print-message
 bind index,pager       |       pipe-message
 bind index,pager       !       flag-message
 bind index,pager       \eP     print-message
@@ -17,49 +19,41 @@ macro index p       "<enter-command><enter>" "do nothing"
 
 bind index             h       noop
 
 
 bind index             h       noop
 
-##macro index  L       "<list-reply><save-message>=store<enter>"
-macro index            S       "<tag-prefix><save-message>=store<enter><sync-mailbox>" "save messages to store"
-macro pager            S       "<save-message>=store<enter><sync-mailbox>" "save message to store"
-
-macro index            \Cl     '<tag-prefix><save-message>=resubmit<enter><sync-mailbox>' "resubmit messages"
-macro pager            \Cl     '<save-message>=resubmit<enter><sync-mailbox>' "resubmit message"
+macro index            \es     "<tag-prefix><enter-command> set my_weed=\$weed<enter><enter-command> set my_resolve=\$resolve<enter><enter-command> set noweed noresolve<enter><decode-save>^<enter><next-entry><clear-flag>n<enter-command> set weed=\$my_weed<enter><enter-command> set resolve=\$my_resolve<enter>" "decode message to current folder"
+macro pager            \es     "<enter-command> set my_weed=\$weed<enter><enter-command> set my_resolve=\$resolve<enter><enter-command> set noweed noresolve<enter><decode-save>^<enter><next-entry><clear-flag>n<enter-command> set weed=\$my_weed<enter><enter-command> set resolve=\$my_resolve<enter>" "decode message to current folder"
+macro index            \eS     "<tag-prefix><save-message><<enter>" "save messages to store"
+macro pager            \eS     "<save-message><<enter>" "save message to store"
+macro index            S       "<tag-prefix><enter-command> set my_weed=\$weed<enter><enter-command> set my_resolve=\$resolve<enter><enter-command> set noweed noresolve<enter><decode-save><<enter><next-entry><enter-command> set weed=\$my_weed<enter><enter-command> set resolve=\$my_resolve<enter>" "decode message to $record folder"
+macro pager            S       "<enter-command> set my_weed=\$weed<enter><enter-command> set my_resolve=\$resolve<enter><enter-command> set noweed noresolve<enter><decode-save><<enter><next-entry><enter-command> set weed=\$my_weed<enter><enter-command> set resolve=\$my_resolve<enter><display-toggle-weed><display-toggle-weed>" "decode message to $record folder"
 
 
-macro index,pager      E       '<enter-command>source "$my_confdir/supersede-header X-Tickle get-timestamp|"<enter><next-undeleted><enter-command>push S<enter>' "schedule messages with tickler"
-macro index,pager      \ex     '<enter-command>source "$my_confdir/remove-header X-Postponed|"<enter>' "release postponed messages"
+macro index,pager      E       '<enter-command> source "$my_confdir/supersede-header X-Tickle get-timestamp|"<enter><next-undeleted><enter-command> push S<enter>' "schedule messages with tickler"
+macro index,pager      \ex     '<enter-command> source "$my_confdir/remove-header X-Postponed|"<enter>' "release postponed messages"
 
 
-macro index,pager      \es     "<change-folder>=store<enter>" "go to store folder"
-macro index,pager      \ec     "<change-folder>=debian/debconf<enter>" "go to debconf folder"
-macro index,pager      \ed     "<change-folder>=debian<enter>" "go to debian folder"
-macro index,pager      \ei     "<change-folder>=inbox<enter>" "go to inbox folder"
-macro index,pager      \ea     "<change-folder>=ardex<enter>" "go to ardex folder"
-macro index,pager      \ek     "<change-folder>=kbkg<enter>" "go to kbkg folder"
-macro index,pager      \eu     "<change-folder>=uniwh<enter>" "go to uniwh folder"
-macro index,pager      \et     "<change-folder>=toni<enter>" "go to toni folder"
+macro index,pager      \e,     "<change-folder><<enter>" "go to $record folder"
+macro index,pager      \e.     "<change-folder>><enter>" "go to $spool folder"
+macro index,pager      \e1     "<change-folder>!<enter>" "go to inbox folder"
 
 bind index             \eT     tag-thread
 bind index,pager       \eK     mail-key
 
 
 bind index             \eT     tag-thread
 bind index,pager       \eK     mail-key
 
-macro index,pager      \eR     "<enter-command>source $my_confdir/muttrc<enter>" "reload muttrc"
-macro compose  \eR     "<enter-command>source $my_confdir/muttrc<enter>" "reload muttrc"
+macro index,pager      \eR     "<enter-command> source $my_confdir/muttrc<enter>" "reload muttrc"
+macro compose  \eR     "<enter-command> source $my_confdir/muttrc<enter>" "reload muttrc"
 
 macro index            X       "<tag-prefix><save-message>=retrain/spam<enter>" "retrain message as spam"
 macro pager            X       "<save-message>=retrain/spam<enter>" "retrain message as spam"
 macro index            Z       "<tag-prefix><save-message>=retrain/ham<enter>" "retrain message as ham"
 macro pager            Z       "<save-message>=retrain/ham<enter>" "retrain message as ham"
 
 
 macro index            X       "<tag-prefix><save-message>=retrain/spam<enter>" "retrain message as spam"
 macro pager            X       "<save-message>=retrain/spam<enter>" "retrain message as spam"
 macro index            Z       "<tag-prefix><save-message>=retrain/ham<enter>" "retrain message as ham"
 macro pager            Z       "<save-message>=retrain/ham<enter>" "retrain message as ham"
 
-macro index,pager      \Cb     '<enter-command>set my_pipe_decode="$pipe_decode"<enter><enter-command>set pipe_decode<enter><pipe-message>/usr/bin/urlview<enter><enter-command>set pipe_decode="$my_pipe_decode"<enter>' "invoke urlview"
+macro index,pager,attach,compose       \Cb     "<enter-command> set my_pipe_decode=\$pipe_decode<enter><enter-command> set pipe_decode<enter><pipe-message>/usr/bin/urlscan<enter><enter-command> set pipe_decode=\$my_pipe_decode<enter>" "invoke urlscan"
 
 macro compose  Y       '<edit-fcc><kill-line><enter><send-message>' "send message without storing"
 macro compose  \Cy     '<pgp-menu>c<send-message>' "send message without signing"
 macro compose  \CY     '<pgp-menu>cY' "send message without storing signing"
 
 macro compose  Y       '<edit-fcc><kill-line><enter><send-message>' "send message without storing"
 macro compose  \Cy     '<pgp-menu>c<send-message>' "send message without signing"
 macro compose  \CY     '<pgp-menu>cY' "send message without storing signing"
-macro compose  N       '<enter-command>unset fcc_attach<enter>' "do not fcc-store attachment"
+macro compose  N       '<enter-command> unset fcc_attach<enter>' "do not fcc-store attachment"
 
 macro index,pager      F       '<limit>~L ' "search for correspondents"
 macro index,pager      \ef     '<limit>~(~L )<left>' "search for correspondents (show complete threads)"
 
 
 macro index,pager      F       '<limit>~L ' "search for correspondents"
 macro index,pager      \ef     '<limit>~(~L )<left>' "search for correspondents (show complete threads)"
 
-macro index            ~       '<search>~' "shortcut to pattern search"
-macro pager            ~       '<exit><search>~' "shortcut to pattern search"
-
 bind index,pager       \en     search-opposite
 
 macro pager    p       '<pipe-message>less -c<enter>' "pipe message into pager"
 bind index,pager       \en     search-opposite
 
 macro pager    p       '<pipe-message>less -c<enter>' "pipe message into pager"
@@ -67,24 +61,23 @@ macro pager p       '<pipe-message>less -c<enter>' "pipe message into pager"
 bind pager             [       half-up
 bind pager             ]       half-down
 
 bind pager             [       half-up
 bind pager             ]       half-down
 
-macro index,pager      \eS     '<enter-command>set noweed<enter><decode-save>'
-macro index,pager      \eC     '<enter-command>set noweed<enter><decode-copy>'
-
 #TODO this is a hack until switch-profile does not readd headers.
 #TODO this is a hack until switch-profile does not readd headers.
-macro compose  e       '<enter-command>set my_editor="$editor"<enter><enter-command>set editor=sensible-editor<enter><edit-headers><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
-macro index,pager      e       '<enter-command>set my_editor="$editor"<enter><enter-command>set editor=sensible-editor<enter><edit><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+macro compose  e       "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=sensible-editor<enter><edit-headers><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+macro index,pager      e       "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=sensible-editor<enter><edit><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+
+macro index            \ej     "<enter-command> set my_editor=\$editor<enter><enter-command> source $my_confdir/batch-subject-editor|<enter><tag-prefix><edit><enter-command> set editor=\$my_editor<enter>" "change message subject"
 
 
-macro index            \ej     '<enter-command>set my_editor="$editor"<enter><enter-command>source "$my_confdir/batch-subject-editor|"<enter><tag-prefix><edit><enter-command>set editor="$my_editor"<enter>' "change message subject"
+macro index,pager      \er     "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=\"~/.mutt/reuse-message \$my_editor\"<enter><reply><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+macro index,pager      \eg     "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=\"~/.mutt/reuse-message \$my_editor\"<enter><group-reply><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+macro index,pager      \el     "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=\"~/.mutt/reuse-message \$my_editor\"<enter><list-reply><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
 
 
-macro index,pager      \er     '<enter-command>set my_editor="$editor"<enter><enter-command>set editor="~/.mutt/reuse-message $my_editor"<enter><reply><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
-macro index,pager      \eg     '<enter-command>set my_editor="$editor"<enter><enter-command>set editor="~/.mutt/reuse-message $my_editor"<enter><group-reply><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
-macro index,pager      \el     '<enter-command>set my_editor="$editor"<enter><enter-command>set editor="~/.mutt/reuse-message $my_editor"<enter><list-reply><enter-command>set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+# override F6 from notmuch-mutt
+macro index            <F6>    "<enter-command><enter>" "do nothing"
 
 
-macro index            <F8>    "<enter-command>unset wait_key<enter><shell-escape>~/.mutt/mutt-notmuch --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" "search mail (using notmuch)"
-macro index            <F9>    "<enter-command>unset wait_key<enter><pipe-message>~/.mutt/mutt-notmuch thread<enter><change-folder-readonly>~/.cache/mutt_results<enter><enter-command>set wait_key<enter>" "search and reconstruct owning thread (using notmuch)"
+macro attach   e       "<enter-command> set my_mailcap_path=\$mailcap_path<enter><enter-command> set mailcap_path=~/.mutt/mailcap.editing<enter><view-mailcap><enter-command> set mailcap_path=\$my_mailcap_path<enter>" "edit temporary file of attachment"
 
 
-macro attach   e       '<enter-command>set my_mailcap_path="$mailcap_path"<enter><enter-command>set mailcap_path="~/.mutt/mailcap-edit-wrapper"<enter><view-mailcap><enter-command>set mailcap_path="$my_mailcap_path"<enter>' "edit temporary file of attachment"
+macro index,pager      M       "<enter-command> set my_weed=\$weed<enter><enter-command> set noweed<enter><pipe-message>formail -czx X-RSS-URL: | xargs sensible-browser<enter><enter-command> set weed=\$my_weed<enter>"
 
 
-macro index,pager      M       '<enter-command>set my_weed="$weed"<enter><enter-command>set noweed<enter><pipe-message>formail -czx X-RSS-URL: | xargs sensible-browser<enter><enter-command>set weed="$my_weed"<enter>'
+macro index,pager      <F10>   "<enter-command> set my_pipe_decode=\$pipe_decode<enter><enter-command> unset pipe_decode<enter><pipe-message>~/.mutt/viewmailattachments<enter><enter-command> set pipe_decode=\$my_pipe_decode<enter>" "view attachments in browser"
 
 # vim:sw=12:noet:sts=12:ts=12:ft=muttrc
 
 # vim:sw=12:noet:sts=12:ts=12:ft=muttrc