Comment changer la valeur du timeout pour un raccourci clavier?

8

Ce que je veux

Pour modifier temporairement la valeur du délai d'attente pour certains raccourcis clavier

Où j'ai regardé

De :help 'timeout'j'ai:

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

Je ne sais pas comment j'implémenterais cela dans un raccourci clavier, ni comment vérifier le paramètre actuel de délai d'expiration.

Par exemple, je voulais essayer de régler hhpour aller au début d'une ligne, mais je voulais que le délai d'attente pour ce raccourci clavier particulier soit assez rapide, disons 100 millisecondes.

Ce que j'ai essayé

:set timeout timeoutlen=100 ttimeoutlen=100
nmap hh <S-^>
:set timeoutlen=1000 ttimeoutlen=1000
baxx
la source
2
Des paramètres tels que 'timeoutlen'sont utilisés au moment où le mappage est appelé et non créé.
tommcdo

Réponses:

1

L' 'timeoutlen'option est globale et s'applique à l' invocation du mappage , pas lors de la définition .

Je peux comprendre votre motivation ( en utilisant une spéciale hhcartographie tout en étant capable de se déplacer rapidement par l' intermédiaire h, h), mais je néanmoins déconseiller ces astuces. Mieux vaut choisir un autre mappage qui ne chevauche pas avec une commande intégrée.

Si vous le devez vraiment, jetez un œil au plugin d'arpège . Il effectue quelques astuces pour mapper les touches enfoncées simultanément.

Ingo Karkat
la source
merci Ingo, je suis devenu un peu plus créatif avec les mappages récemment, mais j'ai toujours besoin de conseils sur les choses à faire et à ne pas faire :)
baxx