Como alterar o valor do tempo limite para um comando de chave?

8

O que eu quero

Para alterar temporariamente o valor do tempo limite para determinados comandos de tecla

Para onde eu olhei

De :help 'timeout'eu tenho:

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).

Não sei ao certo como implementaria isso em um comando de chave ou como verificar a configuração atual do tempo limite.

Por exemplo, eu queria tentar definir hho início de uma linha, mas queria que o tempo limite desse comando de tecla específico fosse bem rápido, digamos 100 milissegundos.

O que eu tentei

:set timeout timeoutlen=100 ttimeoutlen=100
nmap hh <S-^>
:set timeoutlen=1000 ttimeoutlen=1000
baxx
fonte
2
Configurações como 'timeoutlen'são usadas no momento em que o mapeamento é chamado , não criado.
tommcdo

Respostas:

1

A 'timeoutlen'opção é global e se aplica à chamada de mapeamento , não durante a definição .

Posso entender sua motivação (usando um especial hhmapeamento enquanto ainda é capaz de se mover rapidamente via h, h), mas eu gostaria, no entanto aconselhar contra esses truques. Melhor escolha outro mapeamento que não se sobreponha a um comando interno.

Se você realmente precisa, dê uma olhada no plug-in do arpejo . Ele executa alguns truques para mapear as teclas pressionadas simultaneamente.

Ingo Karkat
fonte
graças Ingo, eu estou ficando um pouco mais criativo com mapeamentos recentemente, mas ainda na necessidade de fazer e não fazer orientação :)
Baxx