Skip to content

Keybindings and other behaviour

Evil comes with a rich system for modifying its key bindings Keymaps. For the most common tweaks, the following variables are available.

Emacs Lisp Autovariable: evil-toggle-key

The key used to change to and from Emacs state. Must be readable by read-kbd-macro. For example: “C-z”.

Default: "C-z"

Emacs Lisp Autovariable: evil-want-C-i-jump

Whether C-i jumps forward in the jump list (like Vim). Otherwise, C-i inserts a tab character.

Default: t

Emacs Lisp Autovariable: evil-want-C-u-delete

Whether C-u deletes back to indentation in insert state. Otherwise, C-u applies a prefix argument. The binding of C-u mirrors Emacs behaviour by default due to the relative ubiquity of prefix arguments.

Default: nil

Emacs Lisp Autovariable: evil-want-C-u-scroll

Whether C-u scrolls up (like Vim). Otherwise, C-u applies a prefix argument. The binding of C-u mirrors Emacs behaviour by default due to the relative ubiquity of prefix arguments.

Default: nil

Emacs Lisp Autovariable: evil-want-C-d-scroll

Whether C-d scrolls down (like Vim).

Default: t

Emacs Lisp Autovariable: evil-want-C-w-delete

Whether C-w deletes a word in Insert state.

Default: t

Emacs Lisp Autovariable: evil-want-C-w-in-emacs-state

Whether C-w prefixes windows commands in Emacs state.

Default: nil

Emacs Lisp Autovariable: evil-want-Y-yank-to-eol

Whether Y yanks to the end of the line. The default behavior is to yank the whole line, like Vim.

Default: nil

Emacs Lisp Autovariable: evil-disable-insert-state-bindings

Whether insert state bindings should be used. Bindings for escape, delete and evil-toggle-key are always available. If this is non-nil, default Emacs bindings are by and large accessible in insert state.

Default: nil