Perintah untuk melakukan ini adalah join-pane
di tmux 1.4.
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.
Untuk menyederhanakan ini, saya memiliki ini mengikat saya .tmux.conf
untuk itu:
# pane movement
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
Yang pertama mengambil panel dari jendela target dan menggabungkannya ke arus, yang kedua melakukan sebaliknya.
Anda kemudian dapat memuat kembali sesi tmux Anda dengan menjalankan yang berikut dari dalam sesi:
$ tmux source-file ~/.tmux.conf
Prefix+s
dan masukkan nama jendela di prompt untuk mengirim panel ke jendela itu ...join-pane adalah jawabannya. Saya juga mengalami masalah dengan upaya saya untuk menggunakannya berdasarkan dokumentasi tmux. Saya menemukan bahwa -t dan -s switch tampaknya menerima [sesi]: jendela dan bukan jendela [sesi:]. Dengan kata lain menentukan sesi adalah opsional, tetapi termasuk: adalah wajib. (Saya menggunakan tmux 1.5)
Oleh karena itu, untuk menambahkan panel ke jendela saat ini dan menempatkan jendela 1 ke dalam panel, perintahnya adalah (Ctrl-B atau apa pun kunci ikatan Anda, diikuti oleh) ...
Anda kemudian dapat memecahnya appart dengan break-pane yang secara default adalah: Ctrl-B! Jika Anda ingin mengikatnya ke pintasan, saya sarankan TIDAK mengesampingkan pengikatan bawaan seperti s, karena di ujung jalan Anda akan mencari di internet untuk jawaban yang melibatkan sesi pilih dan itu tidak akan berfungsi pada sistem Anda. Perhatikan bahwa break-pane terikat! dan @ tepat di sebelahnya dan tidak terikat apa pun secara default. Untuk alasan itu saya menyarankan ini mengikat ...
Bergantian, untuk memiliki pemilih interaktif ...
Bergantian, untuk selalu bergabung dengan jendela yang terakhir dikunjungi ...
CATATAN:
-h
Penyebabnya menumpuk panel secara horizontal (dengan split vertikal) sebagai kebalikan dari perilaku default yang merupakan kebalikannya.Yang paling penting adalah BELAJAR Anda apa pun yang Anda pilih untuk pintasan. Karena jika Anda hanya mengaturnya dan melupakannya, Anda akan tertatih-tatih ketika menemukan diri Anda di server asing. Dan mari kita hadapi itu, hal terpenting yang diberikan terminal multiplexer adalah sesi yang dapat diandalkan di server jarak jauh.
Ini menyelesaikan konversi saya dari Layar GNU ke Tmux. Saya tidak akan pernah melihat ke belakang.
Nikmati!
sumber
window.pane
misalnyajoin-pane -s 1.0
untuk memindahkan panel 0 di jendela 1 ke jendela saat ini. Lebih detail di maciej.lasyk.info/2014/Nov/19/tmux-join-pane:
tampaknya tidak diperlukan lagi (mis. Lakukan saja:join-pane -s 1
). Mungkin itu adalah bug di versi sebelumnyaSaya pikir saya menyukai apa yang telah saya gunakan untuk memindahkan panel ke jendela mereka sendiri dengan lebih baik. saya menggunakan
Saya mengetahuinya melalui eksperimen, tetapi tampaknya bekerja dengan sangat baik. Anda dapat mengikat atau alias dengan mudah, tidak perlu skrip.
sumber
join-pane
.Jika Anda tidak ingin mengetik pengidentifikasi panel ke prompt, Anda juga bisa menggunakan
yang akan bergabung dengan panel / jendela aktif terakhir ke jendela saat ini.
sumber
unknown command: join-pane -s !
1,6.bind-key j join-pane -s !
Setelah melihat-lihat jawaban lain dan membaca halaman manual tmux saya memutuskan untuk mengikat berikut untuk saat ini:
Ini akan memungkinkan Anda secara interaktif memilih jendela untuk bergabung, dan mencerminkan huruf kecil
s
/v
binding saya untuk membuat pemisahan vertikal / horizontal baru. Jika ada yang tahu cara memilih panel individual, bukan windows, beri tahu saya.sumber
-v
dan-h
tidak membuat "splits" vertikal dan horizontal masing-masing. Mereka membuat " panel susun " vertikal dan horizontal masing-masing. (Artinya, panel yang ditumpuk secara vertikal memiliki pemisahan horizontal.) Jadi, Anda harus melatih otak Anda seperti itu. Juga-v
merupakan default, jadi saya akan meninggalkan itu dan hanya menempatkan-h
di sana sehingga Anda~/.tmux.conf
bertindak sebagai lembar contekan untuk Anda lihat.Ikatan kunci
Secara default, Ctrl+ b, !akan memecah panel aktif ke jendela baru dan beralih ke sana.
Di mana Ctrl+ badalah awalan default untuk tmux .
Detail
The
tmux
perintah mengeksekusi kunci ini adalahbreak-pane
(alias:breakp
) seperti yang diterapkan dalamcmd-break-pane.c
dan terikat sebagai default di kunci-bindings.c seperti yang terlihat dalamlist-keys
(alias:lsk
) output perintah:sumber
Anda tidak perlu mengubah ikatan utama Anda.
Sementara panel yang ingin Anda pindahkan memiliki fokus, ketik Awalan lalu di
:join-pane -t :1
mana1
pun nomor jendela tujuan dalam sesi yang sama. Anda dapat memindahkannya ke sesi lain dengan menambahkan namanya sepertiproject:3
. Bagi sayajoin-pane
tab-pelengkap otomatis darij
.Tambahkan
-h
atau-v
alihkan ke perintah untuk mengatur orientasi pemisahan baru yang dibuat di tujuan, atau cukup buka dan Awalan + spaceuntuk mengatur ulang.sumber