web-dev-qa-db-fra.com

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

Je sais qu'il est possible dans tmux de rejoindre 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 chercher dans la page de manuel mais je ne l'ai pas trouvée. J'imagine qu'il est possible de le faire avec un script Shell, mais existe-t-il un autre moyen plus élégant?

145
Mikey S.

Commandes 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 panneaux entre des fenêtres existantes.

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

Usage alternatif

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

156
demure

Dans la liste des commandes, vous pouvez voir que cela s’appelle pause-volet et que la commande est juste

bind-key!

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

125
jimbog

Dans la dernière version de tmux, installée à partir de homebrew sur OSx - 1.9a - la liaison de 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 "%%""
10
Andrew