You're mistaken about what the documentation is referring to when it mentions key codes.
dd
is not a key code. It is a just a vim command comprised of two key strokes.
An example of a key code would be ^[[D
(alternatively notated as as <Esc>[D
), which is what the terminal sends when you press the Left arrow.
The key code timeout is intended to allow Vim to handle such sequences differently when they are typed in (which occurs more slowly than when the terminal sends them), allowing you to, for example, type Esc[D to leave insert mode and then display macro definitions of the macro under the cursor, but also to press the left arrow to move one character to the left in insert mode, even though those two operations result in the same sequence of characters being passed from the terminal to Vim.
As dd
is a built-in command, it never times out. However, you can use the timeout/timeoutlen
(not ttimeout/ttimeoutlen
) settings to cause mappings to time out.
e.g.
Try the following:
:set timeout timeoutlen=1000 " These are the defaults
:nnoremap xd dd
Press xd
. It will delete a line.
Now just press x
. Nothing will happen for one second: Vim is waiting to see whether you are typing the xd
mapping. Then, after one second, the mapping will time out, and a single character will be deleted.
vim -u NONE