I know that it's possible in tmux to join a window as a pane, but is it possible to move a pane to it's own window (tab)? I tried searching it up the man page but couldn't find it. I guess it is possible doing it through a shell script, but is there some other, more elegant way?
Asked
Active
Viewed 1.1e+01k times
4 Answers
223
Relevant tmux Commands
join-pane -sjoin-pane -tbreak-pane
Bindings
You could add the following bindings to your ~/.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 '%%'"
The above can move panes between existing windows.
For breaking a pane to a new window, use break-pane (which can also be bound).
Alterative Use
All three commands can be used from the tmux's prompt like: <prefix>+: then break-pane
Or at the shell's prompt (inside tmux) with: tmux break-pane.
212
From the commands list, you can see that it's called break-pane and the command is just
bind-key !
where bind-key is defaulted to Ctrl+B
Scott - Слава Україні
- 21,717
jimbog
- 2,121
-
8
-
6@nazikus you can use
join-pane. If you don't see any bindings for it inbind-key ?(I didn't), you can summon the command prompt withbind-key :and executejoin-pane -t <destination pane index>. – Austin Adams Jul 15 '15 at 19:14 -
8Don't forget the colon! It's
join-pane -t <optional session name>:<destination pane index>e.g.join-pane -t :0– Walf Jul 28 '16 at 07:11 -
14
In the latest version of tmux, installed from homebrew on OSx - 1.9a - the default key-binding implements join-pane with a menu
bind-key S choose-window "join-pane -v -s "%%""
bind-key V choose-window "join-pane -h -s "%%""
Andrew
- 597
11
tmux 1.8 or above:
If you are intending to go to a "fullscreen" mode, you can use:
bind-keyz
to "zoom in" (and also zoom-out after you finished your work).
Peyman Karimi
- 211
-
Yes, but if from there I want to keep opening new windows and don't want the old context taking up space, I need to break away. – Francesco Oct 23 '20 at 18:48
bind-key !from the other answer is all I need. – the Nov 10 '14 at 15:22join-pane -sandjoin-pane -t? – Jean Paul Jan 19 '21 at 13:48-s== "get the pane from there and bring it here"; while-t== "take this current pane and send it there". – demure Jan 20 '21 at 14:34join-pane -s 4.0(a bad habit from computer scientists to always want to start numerotation from 0 but it's another issue). – Jean Paul Jan 20 '21 at 15:36