option

programs.qutebrowser.keyBindings

Key bindings mapping keys to commands in different modes. This setting is a dictionary containing mode names and dictionaries mapping keys to commands: {mode: {key: command}} If you want to map a key to another key, check the keyMappings setting instead. For modifiers, you can use either - or + as delimiters, and these names:

  • Control: Control, Ctrl

  • Meta: Meta, Windows, Mod4

  • Alt: Alt, Mod1

  • Shift: Shift

For simple keys (no <>-signs), a capital letter means the key is pressed with Shift. For special keys (with <>-signs), you need to explicitly add Shift- to match a key pressed with shift. If you want a binding to do nothing, bind it to the nop command. If you want a default binding to be passed through to the website, bind it to null. Note that some commands which are only useful for bindings (but not used interactively) are hidden from the command completion. See :help for a full list of available commands. The following modes are available:

normal

Default mode, where most commands are invoked.

insert

Entered when an input field is focused on a website, or by pressing i in normal mode. Passes through almost all keypresses to the website, but has some bindings like <Ctrl-e> to open an external editor. Note that single keys can’t be bound in this mode.

hint

Entered when f is pressed to select links with the keyboard. Note that single keys can’t be bound in this mode.

passthrough

Similar to insert mode, but passes through all keypresses except <Escape> to leave the mode. It might be useful to bind <Escape> to some other key in this mode if you want to be able to send an Escape key to the website as well. Note that single keys can’t be bound in this mode.

command

Entered when pressing the : key in order to enter a command. Note that single keys can’t be bound in this mode.

prompt

Entered when there’s a prompt to display, like for download locations or when invoked from JavaScript.

yesno

Entered when there’s a yes/no prompt displayed.

caret

Entered when pressing the v mode, used to select text using the keyboard.

register

Entered when qutebrowser is waiting for a register name/key for commands like :set-mark.

Declarations
Type
attribute set of attribute set of string
Default
{ }
Example
{
  normal = {
    "<ctrl-v>" = "spawn mpv {url}";
    ",p" = "spawn --userscript qute-pass";
    ",l" = ''config-cycle spellcheck.languages ["en-GB"] ["en-US"]'';
  };
  prompt = {
    "<ctrl-y>" = "prompt-yes";
  };
}
</ctrl-y></ctrl-v>