Bob Rossi wrote:
Hi,
I'm using vim, and I have the default timeout, ttimeout, timeoutlen,
ttimeoutlen options set. That is, timeout is on, ttimeout is off.
The manual says:
'timeout' 'ttimeout' action
on on or off time out on :mappings and key codes
So, this to me means that both mappings and key codes will be timed out.
My timeoutlen is 1000 and my ttimeoutlen is -1. The manual says:
ttimeoutlen mapping delay key code delay
< 0 'timeoutlen' 'timeoutlen'
>= 0 'timeoutlen' 'ttimeoutlen'
This tells me that both the mapping delay and the keycode delay will use
1000 milliseconds as a timeout. This is 1 second. However, when I'm in
insert mode, and hit the ESC key, vim immediately gets out of insert
mode.
My question is, how does vim know how to move out of insert mode
immediately, since it should be waiting 1 second to determine if the
ESC it received was actually an ESC or a key sequence (Home, F1, ...)?
Thanks,
Bob Rossi
In gvim, and with some terminals in Console Vim, special key codes don't start
with Esc ; in that case there is no ambiguity. Other than that, I don't know,
but... "if 't ain' broke, don' fix it."
Best regards,
Tony.