ESC
is the escape character,
is the symbol generated by pressing the ESC key in X. The escape character is generated when pressing something key together with the meta-key like M-x
, that actually generates two key events, first the ESC event, second the x
. (actually, that's only true in terminal mode since in X M-x
generates a special event, but this event is mapped to ESC x
). The problem is that in terminal mode the escape key does not generate
but also ESC
.
That said, in order to have the escape key working correctly in terminal, Evil has to catch the ESC event and possibly translate it to
after some timeout (otherwise either bindings like M-x
or leaving insert state with ESC
would not work). In other words, the event ESC
typically never reaches those keymaps because it is translated to
before. The variable evil-intercept-esc
can be used to customize this behavior (but only in newly created frames).