La send-prefix
commande peut être utilisée pour envoyer votre frappe de préfixe au (processus en cours d'exécution dans) le volet actif. Par défaut, le préfixe est Cb et Cb est lié à send-prefix
(de sorte que le frapper deux fois envoie un seul Cb au volet actif). C'est exactement ce dont nous avons besoin pour accéder aux liaisons de l' instance tmux interne .
Le premier Cb est capturé par l' instance tmux «externe» comme sa clé de préfixe. Le second est capturé par l' instance tmux «externe» et déclenche sa liaison Cb ( send-prefix
). Cela envoie un Cb au volet actif de l'instance externe. Le processus en cours d'exécution dans ce volet est (finalement, via une instance ssh ) l' instance tmux «interne» . Il capture le Cb comme sa clé de préfixe. Maintenant, votre prochaine frappe sera passée à travers l' instance tmux externe et capturée par l'instance interne pour déclencher une liaison.
Pour déclencher la liaison c ( new-window
) dans une instance de deuxième niveau de tmux , vous devez taper Cb Cb c . Pour une instance de troisième niveau de tmux , tapez Cb Cb Cb Cb c .
Ce doublement pour chaque niveau peut être ennuyeux si vous avez souvent affaire à plusieurs couches de tmux . Si vous pouvez épargner une autre clé, vous pouvez créer une liaison non préfixée pour rendre les choses (éventuellement) plus faciles à taper:
bind-key -n C-\ send-prefix
bind-key -n C-^ send-prefix \; send-prefix
Créer une nouvelle fenêtre dans le tmux de deuxième niveau : C- \ c
Créer une nouvelle fenêtre dans le tmux de troisième niveau : C- ^ c (ou C- \ C- \ c )
Si vous avez un nombre limité de commandes tmux que vous souhaitez envoyer (facilement) aux instances tmux de niveau inférieur , vous pouvez plutôt utiliser send-keys
pour créer des liaisons spécifiques (peut-être juste dans votre instance tmux de niveau supérieur ):
bind-key C-c send-keys C-b c
bind-key C send-keys C-b C-b c
Créer une nouvelle fenêtre dans tmux de deuxième niveau : Cb Cc
Créer une nouvelle fenêtre dans tmux de troisième niveau : Cb C