¿Cómo cambiar el valor del tiempo de espera para un comando de tecla?

8

Lo que quiero

Para cambiar temporalmente el valor de tiempo de espera para ciertos comandos de teclado

Donde he mirado

Desde :help 'timeout'que tengo:

The timeout only happens when the 'timeout' and 'ttimeout' options
tell so.  A useful setting would be >
    :set timeout timeoutlen=3000 ttimeoutlen=100
(time out on mapping after three seconds, time out on key codes after
a tenth of a second).

Sin embargo, no estoy seguro de cómo implementaría esto en un comando de teclado o cómo verificar la configuración actual del tiempo de espera.

Por ejemplo, quería probar y configurar hhpara ir al inicio de una línea, pero quería que el tiempo de espera para ese comando de teclado en particular fuera bastante rápido, digamos 100 milisegundos.

Lo que he intentado

:set timeout timeoutlen=100 ttimeoutlen=100
nmap hh <S-^>
:set timeoutlen=1000 ttimeoutlen=1000
baxx
fuente
2
Configuraciones como 'timeoutlen'se usan en el momento en que se invoca la asignación , no se crea.
tommcdo

Respuestas:

1

La 'timeoutlen'opción es global y se aplica en la invocación de mapeo , no durante la definición .

Puedo entender su motivación (utilizando un especial hhmapeo sin dejar de ser capaz de moverse rápidamente a través de h, h), pero me gustaría, no obstante desaconsejar este tipo de trucos. Mejor elija otro mapeo que no se superponga con un comando incorporado.

Si realmente debe hacerlo, eche un vistazo al plugin de arpegio . Realiza algunos trucos para asignar teclas presionadas simultáneamente.

Ingo Karkat
fuente
Ingo gracias, yo estoy poniendo un poco más creativo con asignaciones recientemente, pero todavía necesitan hacer y no hacer orientación :)
BAXX