Question Déplacer le volet vers une nouvelle fenêtre dans tmux


Je sais qu'il est possible dans tmux de joindre une fenêtre en tant que volet, mais est-il possible de déplacer un volet vers sa propre fenêtre (onglet)? J'ai essayé de le chercher dans la page de manuel mais je ne l'ai pas trouvé. Je suppose que c'est possible grâce à un script shell, mais y a-t-il une autre manière plus élégante?


128
2018-05-27 06:22


origine




Réponses:


Commandes de tmux pertinentes

  • join-pane -s
  • join-pane -t
  • break-pane

Fixations

Vous pouvez ajouter les liaisons suivantes à votre ~/.tmux.conf:

## Join windows: <prefix> s, <prefix> j
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

Ce qui précède peut déplacer des volets entre les fenêtres existantes.

Pour casser une vitre dans une nouvelle fenêtre, utilisez break-pane  (qui peut aussi être lié).

Utilisation alternative

Les trois commandes peuvent être utilisées à partir de l'invite de tmux comme: <prefix>+: puis break-pane
Ou à l'invite du shell (dans tmux) avec: tmux break-pane.


141
2018-05-27 14:15



Il convient de noter que vous ciblez un volet en utilisant le format suivant: "mysession: mywindow.mypane" (si dans une session différente) et "mywindow.mypane" (si dans la même session). Vous pouvez également utiliser "mysession: progname" si le programme exécuté dans ce volet est unique. - Ben Davis
bind-key ! de l'autre réponse est tout ce dont j'ai besoin. - guaka


Dans la liste des commandes, vous pouvez voir qu’elle s’appelle break-pane et que la commande est juste

clé de liaison!

où bind-key est défini par défaut sur Ctrl+B


108
2018-01-15 20:46



y a-t-il un espace pour rattacher le volet "cassé"? - nazikus
@nazikus vous pouvez utiliser join-pane. Si vous ne voyez aucune liaison pour cela dans bind-key ? (Je n'ai pas), vous pouvez appeler l'invite de commande avec bind-key : et exécuter join-pane -t <destination pane index>. - Austin Adams
N'oubliez pas le côlon! Ses join-pane -t <optional session name>:<destination pane index> par exemple. join-pane -t :0 - Walf


Dans la dernière version de tmux, installée depuis homebrew sous OSx - 1.9a - la liaison par clé par défaut implémente join-pane avec un menu

bind-key          S choose-window "join-pane -v -s "%%""
bind-key          V choose-window "join-pane -h -s "%%""

6
2017-08-06 21:13