La configuration de mon terminal est gnome-terminal + tmux + zsh avec les liaisons vi.
Dans des applications comme vim ou même dans le mode d'édition vi de la ligne de commande du zsh, je dois appuyer souvent sur la ESCtouche, mais il reste un petit délai avant que les effets de cette clé ne se produisent. Voir L' écran GNU ralentit la touche Vim ESC
Après quelques expériences, j'ai trouvé que frapper la ESCtouche et immédiatement une autre touche (disons b) a le même effet que frapper Alt+b. Je ne sais pas pourquoi c'est le cas (probablement pour des raisons historiques quand il n'y en avait pas Alt? Je ne sais pas). Quoi qu'il en soit, j'ai deux Altclés et je ne veux pas ce comportement avec ma ESCclé. J'ai essayé avec C+[et c'est le même problème avec cela aussi.
Je ne sais pas qui est responsable de cela, gnome-terminal ou tmux ou de mon système d'exploitation lui-même (Ubuntu Natty). Toutes les idées sur la façon de résoudre ce problème seraient formidables.
Mise à jour : j'ai vérifié sans tmux sur un autre terminal (LXTerminal) et le délai est présent également.
Réponses:
Voici une solution réelle. Ajouter ce qui suit à
.tmux.conf
:la source
tmux kill-server
pour que cela prenne effet.tmux-prefix
(par défautCtrl+b
) suivi de:
et en entrantsource-file $HOME/.tmux.conf
.Le retard est dû aux routines d’entrée qui peuvent avoir à décider si une touche de fonction a été enfoncée ou non. Pour cela, la routine d’entrée démarre une minuterie chaque fois qu’elle lit un caractère ESC. Les caractères lus à partir de l'entrée avant la fin du temporisateur (disons un dixième de seconde) sont alors interprétés comme une séquence ESC d'une touche de fonction et cette séquence ESC sera comparée aux chaînes connues de séquences ESC issues de la terminfo ou du base de données termcap (dépend des routines de bas niveau utilisées).
Bien sûr, cela est agaçant pour les applications où ESC est utilisé seul, mais je ne connais aucune solution de contournement pour cela.
Concernant votre question avec le comportement de ESC a= Meta a:
Les clés méta n'étaient pas disponibles avec tous les claviers. Pour contourner le problème, il était souvent permis d’appuyer sur la touche Échap avant l’autre touche.
la source
Bien que cela ne résolve pas directement votre problème, j'ai constaté que je pouvais utiliser
<Ctrl> c
pour sortir du mode insertion. Ceci peut également être utilisé pour quitter le défilement d'écran de tmux (qui peut être appelé à l'aide de<leader> PgUP
)la source
<C-c>
de sortir du mode insertion en utilisation normale, car elle n'exécute pas la commandeInsertLeave
automatique que certains plug-ins pourraient surveiller. Voir:h i_CTRL-C
.