Jawaban:
Kedengarannya seperti Anda sedang mencari panel bergabung. Secara teknis untuk bagian kedua dari pertanyaan Anda, Anda ingin bergabung dengan panel ke jendela saat ini, bukan jendela penuh dari sesi lain karena itu dapat mencakup beberapa panel.
Ini sebuah contoh. Katakanlah Anda berada di sesi 0, jendela 4 dan di sesi 2 bahwa Anda menginginkan panel jendela 3 1. Pada prompt tmux ( ctrl+b :
secara default)
join-pane -s 2:3.1
Ini akan memindahkan panel 1 dari jendela 3, sesi 2 (-s adalah jendela sumber dan mengambil sesi format: window.pane) ke sesi Anda saat ini (sesi 0).
Di bawah ini adalah dokumen lengkap untuk panel bergabung, yang bisa Anda dapatkan dari halaman manual tmux. Bagian yang paling membingungkan bagi saya membaca dokumen adalah mencari tahu format yang diharapkan untuk sesi menentukan src-pane, jendela dan nomor panel ( session:window.pane
per contoh di atas). Anda juga dapat memberi nama sesi dan jendela Anda dan menggunakan nama-nama itu alih-alih nomor indeks.
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.
Jika Anda mencoba untuk bergabung dengan panel dari dalam sesi yang sama, Anda secara naluriah ingin menghilangkan "sesi:" dari perintah. Ini akan gagal. Tampaknya -s dan -t beralih untuk bergabung-panel menerima argumen dalam bentuk [sesi]: window [.pane] alih-alih [session:] window [.pane]
Dengan kata lain, sesi ini opsional dan: wajib diisi. Ini konyol. Ini akan menjadi setara dengan browser yang membutuhkan http://google.com:/ sebagai versi pintas dari http://google.com:80/ dan memberikan kesalahan pada http://google.com/ o_O
Sejak ctrl-b! memecah panel saat ini menjadi jendela terpisah (yang merupakan kebalikan dari apa yang ingin kita lakukan), dan ctrl-b @ (yang berada tepat di sebelah!) tidak terikat secara default (artinya Anda tidak menimpa apa pun) Saya sarankan membuat pintasan ini ...
bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'"