Risposte:
Sembra che tu stia cercando il riquadro di join. Tecnicamente per la seconda parte della tua domanda vuoi unire un riquadro alla finestra corrente, non l'intera finestra dell'altra sessione poiché potrebbe includere più riquadri.
Ecco un esempio Supponiamo che tu sia nella sessione 0, finestra 4 e nella sessione 2 che desideri il riquadro 1. della finestra 3 Nel prompt di tmux ( ctrl+b :
per impostazione predefinita)
join-pane -s 2:3.1
Questo sposterà il riquadro 1 dalla finestra 3, sessione 2 (-s è la finestra di origine e porta il formato session: window.pane) alla sessione corrente (sessione 0).
Di seguito sono riportati i documenti completi per il riquadro di join, che è possibile ottenere dalla pagina man di tmux. La parte più confusa per me che ho letto i documenti è stata quella di capire il formato previsto per il riquadro src specificando i numeri di sessione, finestra e riquadro ( session:window.pane
come nell'esempio sopra). È inoltre possibile assegnare un nome alle sessioni e alle finestre e utilizzare tali nomi anziché i numeri di indice.
join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]
(alias: joinp)
Like split-window, but instead of splitting dst-pane and
creating a new pane, split it and move src-pane into the
space. This can be used to reverse break-pane.
Se si sta tentando di unire i riquadri all'interno della stessa sessione, si desidera istintivamente omettere la "sessione:" dal comando. Questo fallirà. Sembra che -s e -t passino a join-pane accettino l'argomento sotto forma di [session]: window [.pane] invece di [session:] window [.pane]
Vale a dire, la sessione è facoltativa e il: è obbligatorio. Questo è sciocco. Sarebbe l'equivalente dei browser che richiedono http://google.com:/ come versione scorciatoia di http://google.com:80/ e che danno un errore a http://google.com/ o_O
Dal momento che ctrl-b! suddivide il riquadro corrente in una finestra separata (che è l'opposto di ciò che vogliamo fare) e ctrl-b @ (che è proprio accanto!) per impostazione predefinita non è associato (significa che non stai sovrascrivendo nulla) Suggerisco di creare questo collegamento ...
bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'"