Passer en mode insertion dans Vim n’est plus instantané depuis que j’utilise tmux. Après avoir appuyé sur Escen mode insertion, il faut un temps considérable pour sortir du mode insertion. Après avoir appuyé sur Escet sur n'importe quelle autre touche, l'interrupteur est immédiat et la commande pour la touche enfoncée après Escest exécutée. Une idée de ce qui pourrait causer ça?
La configuration de Vim n'est pas le problème car le délai ne se produit pas lorsque j'exécute Vim en dehors de tmux, c'est donc probablement lié à tmux d'une façon ou d'une autre. J'utilise gnome-terminal btw.
Il convient également de noter qu'il semble que je ne puisse pas définir les liaisons de clé dans tmux car Escmon plan était de se lier Escà:
bind Escape send-keys ^[
Hélas, il semble que rien Escne lie pour tmux ne fonctionne pas. Le même problème se produit également à l'écran.
la source
man tmux
, et la commande ne fonctionne pas pour moi.J'avais un problème différent mais similaire que j'essayais de résoudre lorsque j'ai trouvé cette page. Je vais donc le signaler ici au cas où cela serait utile à quiconque serait à la recherche de cette réponse et trouverait cette page de la même manière.
Problème: le mode vi de bash a un délai lors du passage du mode insertion au mode commande
Solution: Dans votre
~/.inputrc
fichier, ajoutezset keyseq-timeout n
oùn
est une valeur basse supérieure à 0. La valeur parn
défaut est 500 ms, ce qui cause le délai. Voir la documentation ici .De plus, si vous voulez savoir dans quel mode vous êtes, jetez un œil à la fourchette de bash de Dylan Cali .
la source
0.01
et maintenant son plaisir beaucoup plus rapide. Merci!/etc/inputrc
pour le rendre accessible à tous les utilisateurs.On dirait que vous utilisez un mapping qui commence par ESC. Lorsque vous appuyez sur la touche ESC, vim doit attendre pour voir si la clé suivante est celle du mappage. Si ce n'est pas le cas, cela peut continuer immédiatement.
La configuration de vim peut être dépendante du terminal, donc le fait que cela ne se produise pas en dehors de tmux ne signifie pas grand chose. Vim peut interroger la
$TERM
variable d'environnement et choisir une configuration différente en fonction de sa valeur.Étant donné que gnome-terminal utilise AFAIK
xterm
comme valeur de la$TERM
variable et tmuxscreen
, je rechercherais dans tous vos fichiers de configuration vim les paramètres qui ne sont utilisés que si la$TERM
variable est égale àscreen
. Je suppose que certains fichiers de configuration vim sur votre système définissent des mappages pour la gestion des touches fléchées (celles-ci commencent par leESC
caractère) lorsque le terminal estscreen
.Vous pouvez le tester en modifiant temporairement la
$TERM
variable dans tmux avant de démarrer vim. Si votre shell est bash, appelez vim en tant quedans tmux et voir si le problème persiste. Cependant, vous ne devriez pas utiliser cela comme solution, car il peut y avoir des différences entre les capacités de terminal de tmux et de xterm, et vous pourriez rencontrer des problèmes.
la source
TERM=xterm vim
n'ai pas résolu le problème. Je vais devoir creuser un peu plus profond.Comme le titre le mentionne Screen, voici la solution pour corriger le comportement de la touche Echap dans GNU Screen. (Tiré d' ici .)
Ajouter
pour
.screenrc
configurer le fichier.la source