Vim - délai à la sortie du mode visuel

8

Si j'appuie sur ÉCHAP pour quitter le mode visuel après avoir sélectionné du texte, il y a un délai notable avant que le texte ne soit désélectionné et je revienne au mode normal (même si je ne sélectionne que 1 à 2 caractères). Ce retard peut-il être évité?


la source

Réponses:

2

Cela peut être dû au fait d'être mappé à certaines fonctionnalités supplémentaires. Par exemple, j'utilise le plugin tabbar et il mappe 0-9 pour passer au tampon numérique. Chaque fois qu'une touche est mappée à des fonctionnalités supplémentaires comme celle-ci, vim attend quelques secondes après avoir été pressée pour voir si vous allez appuyer sur des touches supplémentaires.

Pour voir s'il y a des mappages supplémentaires, exécutez :mapet recherchez <Esc>dans la première colonne. Lorsqu'il est exécuté sans aucun paramètre, :maprépertorie tous les mappages personnalisés. Si vous souhaitez répertorier uniquement les mappages en mode visuel, exécutez :vmap.

Si a des mappages supplémentaires, je ne connais pas de moyen de supprimer la pause, en plus de supprimer les mappages. La pause est nécessaire pour que Vim sache sans ambiguïté quelle action vous comptez entreprendre.

cledoux
la source
1
Dans les terminaux de type VT100 (y compris les terminaux Xterm / Rxvt / PuTTY / GNOME), Escest également le préfixe de toutes les touches spéciales, y compris même les touches fléchées.
user1686
@grawity: Vrai, mais Vim utilise des valeurs de délai d'attente différentes pour ces séquences d'échappement que pour les mappages, de sorte que la gestion de ces séquences d'échappement ne provoque généralement pas le problème signalé ici. Tu vois :help 'timeout'.
garyjohn
Merci, c'est tout. Il ne me reste plus qu'à trouver quelles sont les mappages qui interfèrent avec mon utilisation.
0

Je n'ai aucun mappage lié à <ESC> globalement ou pour le mode visuel (l'appel: verbose vmap <ESC> ne donne aucun résultat) mais il y a toujours un retard important à la sortie du mode visuel. Même sur les nouvelles installations sans vimrc, le retard est présent. L'utilisation de <Cc> quitte le mode visuel sans délai.

Comme je n'aime pas appuyer sur <Cc> pour quitter un mode, je mappe actuellement <ESC> à <Cc> en mode visuel. Ceci quitte le mode visuel en utilisant <ESC> sans aucun délai.

:vmap <ESC> <C-c>

Ou mettez la ligne suivante dans votre vimrc

vnoremap <ESC> <C-c>

Cela ne fonctionnera pas si vous avez des mappages de mode global ou visuel liés à <ESC>.

lohfu
la source
-2

Ce que vous pouvez encore faire, c'est d'utiliser CTRL+ Cpour quitter le mode visuel, cela devrait éviter le retard.

Florian
la source