MyNixOS website logo


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.

attribute set of attribute set of strings concatenated with " ;; "
{ }
  normal = {
    "<ctrl-v>" = "spawn mpv {url}";
    ",p" = "spawn --userscript qute-pass";
    ",l" = ''config-cycle spellcheck.languages ["en-GB"] ["en-US"]'';
    "<f1>" = mkMerge [
      "config-cycle never always"
      "config-cycle in-mode always"
      "config-cycle never always"
  prompt = {
    "<ctrl-y>" = "prompt-yes";