Je suis un utilisateur de tmux heureux depuis un moment maintenant, mais il y a un comportement qui me dérange. Lorsque je change de volet à l'aide de la flèche ^ b, puis que j'appuie immédiatement sur la flèche vers le haut (pour obtenir une commande de l'historique, par exemple), le volet de la fenêtre bascule à nouveau. Je comprends que cela peut être utile si vous souhaitez vous déplacer rapidement dans plusieurs volets, mais pour moi, c'est une douleur à l'arrière, car je continue à me retrouver dans des volets que je n'ai jamais voulu faire.
Donc, existe-t-il un moyen de définir tmux pour que la commande ^ b-arrow ne fasse que basculer le volet ne fois et ignore les pressions de touches fléchées suivantes?
Cela se produit car les liaisons par défaut des touches fléchées sont configurées avec bind-key -r
, en précisant qu'elles peuvent être répétées. Vous pouvez désactiver cela de deux manières.
Tout d'abord, vous pouvez utiliser set-option repeat-time 0
pour désactiver entièrement la répétition. Cela affectera toutes les liaisons. Je trouve cela très ennuyeux lors du redimensionnement des volets.
Deuxièmement, vous pouvez modifier les liaisons des touches fléchées pour utiliser bind-key
sans le -r
option:
bind-key Up select-pane -U
bind-key Down select-pane -D
bind-key Left select-pane -L
bind-key Right select-pane -R
Si vous passez beaucoup de temps à naviguer dans les volets, pourquoi ne pas configurer des mappages globaux afin de ne pas avoir à utiliser de préfixes, par exemple bind -n C-h select-pane -L
pour mapper ctrl-h vers la gauche, comme Vim.
Voir http://robots.thoughtbot.com/s Seamlessly-navigate-vim-and-tmux-splits pour une solution encore meilleure qui navigue également à travers les fenêtres Vim.
Une autre option consiste à créer une liaison pour passer au volet précédent, si vous effectuez un va-et-vient entre les deux mêmes volets.
bind-key C-a last-pane