Je recherche un comportement similaire à la façon dont vim (1) gère ses fenêtres fractionnées avec ^w =
. Je sais que tmux (1) a des dispositions prédéfinies avec ^b Meta[1-5]
, mais cela n'a probablement pas la mise en page que j'utilise actuellement.
Lors du fractionnement d'une fenêtre, il divise par deux la fenêtre actuelle pour les deux volets. Séparez à nouveau et il divise ce volet en deux nouveaux. Combinez les séparations verticales et horizontales, et elles continuent de se diviser en deux, chaque nouveau volet devenant de plus en plus petit.
Comment puis-je conserver la nouvelle disposition que je viens de créer, mais que toutes les divisions verticales et horizontales soient également équilibrées, comme le fait vim (1) avec ^w =
?
verticalement
select-layout even-vertical
Généralement affecté à: Ctrl+b, Alt+2
horizontalement
select-layout even-horizontal
Généralement affecté à: Ctrl+b, Alt+1
Vous pouvez utiliser ctrl-bspace pour parcourir les mises en page avec un espacement régulier, mais cela ne préservera pas nécessairement la mise en page que vous aviez.
Depuis la ligne de commande, vous pouvez utiliser
tmux select-layout tiled
pour rendre vos scissions toutes de taille à peu près égale. Vous pouvez également le lier à un raccourci clavier.
Je ne connais aucun raccourci clavier, mais cela peut peut-être vous aider:
Vous pouvez essayer d'écrire un script pour faire la mise en page et lier une clé au script. Vous pouvez le faire en utilisant tmux
command pipe-pane [-o] [-t target-pane] [Shell-command]
pour écrire la disposition actuelle dans le script. Ensuite, vous devez lire une mise en page préparée par le script à l'aide de tmux
command select-layout
.
J'avais du mal à trouver l'incantation magique à diviser en 4 quadrants égaux, alors voici:
# Split session into FOUR EQUAL quadrants
tmux selectp -t 0 # select the first (0) pane
tmux splitw -h -p 50 # split it into two halves
tmux selectp -t 0 # select the first (0) pane
tmux splitw -v -p 50 # split it into two halves
tmux selectp -t 2 # select the new, second (2) pane
tmux splitw -v -p 50 # split it into two halves
tmux selectp -t 0 # go back to the first pane
ctrl b
et alors :resize-pane -M
puis utilisez votre souris! (a besoin mouse-mode
à activer)