Under Development
stars

Key Bindings & Macros

Key Bindings & Macros#

Commands for binding keys to functions and defining keyboard macros.

:bind#

Bind a key to a NeoMutt function in one or more keymaps.

  • bind <map> <key> <function> β€” bind in a single map

  • bind <map1>,<map2> <key> <function> β€” bind in multiple maps

bind index g  noop
bind index gg first-entry
bind index G  last-entry
bind pager j  next-line
bind pager k  previous-line
bind index,pager \Cd half-down
bind index,pager \Cu half-up
bind editor <Tab> complete-query

:unbind#

Remove a key binding.

  • unbind <map> <key> β€” remove a specific binding

  • unbind * β€” remove all bindings in all maps

unbind index g
unbind index,pager \Cd

:macro#

Define a keyboard macro β€” a key that expands to a sequence of keystrokes.

  • macro <map> <key> <sequence> β€” define a macro

  • macro <map> <key> <sequence> <description> β€” define with a help description

macro index A "<save-message>=Archive<enter>"               "archive message"
macro index S "<pipe-message>bogofilter -l<enter><delete-message>" "learn as spam"
macro index,pager B "<view-attachments><search>html<enter><view-mailcap><exit>" "open in browser"

:unmacro#

Remove a keyboard macro.

  • unmacro <map> <key> β€” remove a specific macro

  • unmacro * β€” remove all macros

unmacro index A

:exec#

Immediately execute one or more NeoMutt functions.

  • exec <function> β€” run a single function

  • exec <func1> <func2> β€” run multiple functions in sequence

exec check-new
exec sync-mailbox first-entry

:push#

Push a string of keystrokes into NeoMutt’s input queue, as if the user had typed it.

  • push <string> β€” simulate typing

push "<save-message>=Archive<enter>"
push "<enter-command>source ~/.config/neomutt/temp.rc<enter>"