Skip to content

Modes and states

The next time Emacs is started, it will come up in `normal state', denoted by <N> in the mode line. This is where the main vi bindings are defined. Note that you can always disable normal state with C-z, which switches to an “Emacs state” (denoted by <E>) in which vi keys are completely disabled. Press C-z again to switch back to normal state.

state

Evil uses the term `state' for what is called a “mode” in regular vi usage, because `modes' are understood in Emacs terms to mean something else.

Evil defines a number of states by default:

normal state (<N>)

This is the default “resting state” of Evil, in which the main body of vi bindings are defined.

insert state (<I>)

This is the state for insertion of text, where non-modified keys will insert the corresponding character in the buffer.

visual state (<V>)

A state for selecting text regions. Motions are available for modifying the selected region, and operators are available for acting on it.

replace state (<R>)

A special state mostly similar to insert state, except it replaces text instead of inserting.

operator-pending state (<O>)

A special state entered after launching an operator, but before specifying the corresponding motion or text object.

motion state (<M>)

A special state useful for buffers that are read-only, where motions are available but editing operations are not.

Emacs state (<E>)

A state that as closely as possible mimics default Emacs behaviour, by eliminating all vi bindings, except for C-z, to re-enter normal state.