Je peux déjà mapper une combinaison de touches en mode insertion:
:inoremap abc <do stuff>
Cependant, cela présente quelques inconvénients:
Lorsque vous tapez une version partielle de la séquence, par exemple
ab
, les caractères ne s'affichent pas réellement pendant un court laps de temps, car il "attend" pour voir si vous allez taper la commande complète. C'est indésirable; Je souhaite mapper une chaîne de lettres sans faire de pause si une sous-chaîne partielle de la chaîne est entrée.Si je tape
ab
, puis marque une pause (et attend que les caractères apparaissent réellement comme mentionné au point ci-dessus), puis tape lec
, la commande n'est pas exécutée. Je veux que la commande soit exécutée, peu importe le temps que j'attends.
J'utiliserais un iab
, mais cela ne fonctionne pas car:
- Il faut entrer un espace après la chaîne
- Je ne peux pas exécuter de commandes arbitraires avec lui, insérez seulement une chaîne de texte.
Existe-t-il un moyen d'exécuter une commande ou des séquences de touches si une certaine chaîne est entrée en mode insertion, sans utiliser de carte (qui se mettra en pause à chaque fois que je tape un a
et ne fonctionnera pas si j'attends trop longtemps)?
la source
:cnoremap abc <do stuff>
...ab<any key>
.Réponses:
Voici une façon de procéder:
la source