Permalink
Fetching contributors…
Cannot retrieve contributors at this time
73 lines (52 sloc) 2.35 KB

Key Bindings

If you want to bind a command to a key you can do so by adding the pair to the [bindings] section. This will introduce a global binding, that works in all modes. To make a binding specific to a mode you have to add the pair under the subsection named like the mode. For instance, if you want to bind T to open a new search for threads tagged with 'todo', and be able to toggle this tag in search mode, you'd add this to your config

[bindings]
  T = search tag:todo

  [[search]]
  t = toggletags todo

Known modes are:

  • envelope
  • search
  • thread
  • taglist
  • bufferlist

Have a look at the urwid User Input documentation on how key strings are formatted.

Default bindings

User-defined bindings are combined with the default bindings listed below.

In prompts the following hardcoded bindings are available.

Key Function
Ctrl-f/b Moves the curser one character to the right/left
Alt-f/b Shift-right/left Moves the cursor one word to the right/left
Ctrl-a/e Moves the curser to the beginning/end of the line
Ctrl-d Deletes the character under the cursor
Alt-d Deletes everything from the cursor to the end of the current or next word
Alt-Delete/Backspace Ctrl-w Deletes everything from the cursor to the beginning of the current or previous word
Ctrl-k Deletes everything from the cursor to the end of the line
Ctrl-u Deletes everything from the cursor to the beginning of the line

Overwriting defaults

To disable a global binding you can redefine it in your config to point to an empty command string. For example, to add a new global binding for key a, which is bound to toggletags inbox in search mode by default, you can remap it as follows.

[bindings]
  a = NEW GLOBAL COMMAND

  [[search]]
    a =

If you omit the last two lines, a will still be bound to the default binding in search mode.