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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.