# vim: ft=muttrc
+bind editor <delete> delete-char
+
# moving around
-bind pager J next-line
-bind pager K previous-line
+bind pager J next-line
+bind pager K previous-line
bind index,pager j next-undeleted
bind index,pager k previous-undeleted
+bind index gg first-entry
+bind index G last-entry
+bind pager gg top
+bind pager G bottom
+
+macro index,pager gi "<change-folder>=gmail/inbox<return>" "go to inbox"
+macro index,pager gy "<change-folder>=gmail/youtube<return>" "go to youtube"
+macro index,pager ga "<change-folder>=gmail/archive<return>" "go to archive"
+macro index,pager gs "<change-folder>=gmail/spam<return>" "go to spam"
+macro index,pager gc "<change-folder>=gmail/cadscan<return>" "go to cadscan"
bind index q noop
+bind index Q noop
+bind index x noop
# completion
bind editor <Tab> complete-query
-bind editor ^T complete
-
-# sidebar
-bind index,pager \CK sidebar-prev
-bind index,pager \CJ sidebar-next
-bind index,pager \CO sidebar-open
+bind editor ^T complete
macro index b "<enter-command>toggle sidebar_visible<enter><refresh>" "Toggle sidebar"
macro pager b "<enter-command>toggle sidebar_visible<enter><redraw-screen>" "Toggle sidebar"
+macro pager \Cu "|urlview<enter>" "open urlview"
+
+# flag without resolving
+bind index F flag-message
+bind pager F noop
+macro pager F "<enter-command>set my_resolve=\$resolve;set noresolve<enter><flag-message><enter-command>set resolve=\$my_resolve<enter>"\
+ "Flag message without resolving"
+
# Remap bounce-message function to “B”
-bind index B bounce-message
+bind index,pager B bounce-message
+bind index,pager R group-reply
+
+# limit when syncing
+macro index $ "<sync-mailbox><limit>=(=U|=F)<enter><collapse-all>"
+macro pager $ "<exit><sync-mailbox><limit>=(=U|=F)<enter><collapse-all>"
+
+bind index <space> collapse-thread
# open mailcap in attach view
bind attach <return> view-mailcap