J'ai deux panneaux en split horizontal. Je voudrais avoir le volet actuellement sur la droite pour être sur la gauche dans la fenêtre. Je ne parle pas de déplacer le focus ( Ctrl+ Bo). Comment puis-je y arriver?
La swap-panecommande peut le faire pour vous. Les touches {et }sont liées à swap-pane -Uet swap-pane -Ddans la configuration par défaut.
Donc, pour effectuer le changement souhaité, vous pouvez probablement l'utiliser Prefix{lorsque vous êtes dans le volet de droite (ou Prefix}si vous êtes dans le volet de gauche).
Le -Uet se -Dréférer à « haut » et « vers le bas » dans l'ordre des index de fenêtre ( « up » est la même direction que Prefixose déplace à travers les vitres). Vous pouvez voir les index de volet avec display-panes( Prefixq, par défaut).
+1 pour spécifier Prefixau lieu de supposer que tout le monde utiliseraCtrl-b
Aaron Wallentine
1
D'accord. C'est encore pire lorsque les utilisateurs supposent que vous utilisez Ctrl-a, car ils savent que le préfixe peut être modifié en fonction de l'utilisateur.
byxor
Voir la réponse de @ kay pour une utilisation plus générale de swap-pane(et la réponse à la question dans le titre).
Jonathan
51
Vous pouvez frapper Ctrlbet continuer à tenir pendant Ctrlque vous frappez o. Cela fera pivoter tous les volets existants. Ainsi, dans votre cas, les deux seuls volets existants seront échangés.
Ctrlb+ Altotourne dans le sens contraire (utile lorsque vous avez plus de deux volets).
Oui, nous sommes sur la même page. Mais après le premier "o", qui provoque une rotation du volet, le prochain "o" est envoyé au shell sous-jacent et traité par l'application, quelle qu'elle soit. Je pense quelque chose de louche avec ma carte, ou peut-être quelque chose qui dépend de la version de tmux. Merci d'avoir répondu.
Stabledog
1
@Stabledog Je suis actuellement sur tmux 2.3, mais je pense que cela a toujours fonctionné pour moi ... Je ne peux pas vraiment penser à ce qui pourrait être le problème. Cela semble étrange que cela Ctrl+osoit envoyé au shell au lieu de tmux, surtout si ce n’est pas le cas pour un appui répété Ctrl+b(ou d’autres commandes tmux?).
joelostblom
En fait, je pense que cela se produit pour toutes les commandes. Au moins, je ne suis au courant d'aucun des cas où je peux faire Ctrl + x, appuyer sur une touche liée à une opération et rester en mode "clavier tmux". J'ai juste supposé que c'était par conception.
Stabledog
1
@Stabledog En fait, je viens de remarquer que la seule autre commande permettant de maintenir le contrôle enfoncé et de répéter les autres touches est de Ctrl+b;faire pivoter le curseur entre deux volets.
Joelostblom
24
Le contrôle le plus précis que vous puissiez avoir est d'utiliser swap-panedirectement la commande . Ce n'est pas si difficile à faire:
ctrl-b qvous montre l'ID de chaque volet de la fenêtre en cours; rappelez-vous des deux volets que vous souhaitez échanger. Disons qu'ils sont 3 et 5.
ctrl-b :activer la ligne de commande tmux. Puis lancez la commande swap-pane -s 3 -t 5.
Notez que vous avez la saisie automatique lors de la saisie des commandes. Vous pouvez également rechercher la syntaxe d'une commande directement à partir de la page de manuel tmux . C'est comme ça que j'apprends la syntaxe swap-pane.
Prefix
au lieu de supposer que tout le monde utiliseraCtrl-b
Ctrl-a
, car ils savent que le préfixe peut être modifié en fonction de l'utilisateur.swap-pane
(et la réponse à la question dans le titre).Vous pouvez frapper Ctrl bet continuer à tenir pendant Ctrlque vous frappez o. Cela fera pivoter tous les volets existants. Ainsi, dans votre cas, les deux seuls volets existants seront échangés.
Ctrl b+ Alt otourne dans le sens contraire (utile lorsque vous avez plus de deux volets).
la source
Ctrl+o
soit envoyé au shell au lieu de tmux, surtout si ce n’est pas le cas pour un appui répétéCtrl+b
(ou d’autres commandes tmux?).Ctrl+b;
faire pivoter le curseur entre deux volets.Le contrôle le plus précis que vous puissiez avoir est d'utiliser
swap-pane
directement la commande . Ce n'est pas si difficile à faire:ctrl-b q
vous montre l'ID de chaque volet de la fenêtre en cours; rappelez-vous des deux volets que vous souhaitez échanger. Disons qu'ils sont 3 et 5.ctrl-b :
activer la ligne de commande tmux. Puis lancez la commandeswap-pane -s 3 -t 5
.Notez que vous avez la saisie automatique lors de la saisie des commandes. Vous pouvez également rechercher la syntaxe d'une commande directement à partir de la page de manuel tmux . C'est comme ça que j'apprends la syntaxe
swap-pane
.la source