Skip to content

Key bindings

Vertico defines its own local keymap in the minibuffer which is derived from minibuffer-local-map. The keymap keeps most of the fundamental-mode keybindings intact and remaps and binds only a handful of commands.

Binding/RemappingVertico command
beginning-of-buffer, minibuffer-beginning-of-buffervertico-first
end-of-buffervertico-last
scroll-down-commandvertico-scroll-down
scroll-up-commandvertico-scroll-up
next-line, next-line-or-history-elementvertico-next
previous-line, previous-line-or-history-elementvertico-previous
forward-paragraphvertico-next-group
backward-paragraphvertico-previous-group
exit-minibuffervertico-exit
kill-ring-savevertico-save
M-RETvertico-exit-input
TABvertico-insert

Note in particular the binding of ‘TAB’ to vertico-insert, which inserts the currently selected candidate, and the binding of ‘RET’ and ‘M-RET’ to vertico-exit and vertico-exit-input respectively.

vertico-exit exits with the currently selected candidate, while vertico-exit-input exits with the minibuffer input instead. Exiting with the current input is needed when you want to create a new buffer or a new file with find-file or switch-to-buffer. As an alternative to pressing ‘M-RET’, move the selection up to the input prompt by pressing the ‘up’ arrow key and then press ‘RET’.