Yanıtlar:
Bunu yapmak için komut join-pane
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.
Bunu basitleştirmek .tmux.conf
için, benim için bu bağları var:
# 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 '%%'"
Birincisi bölmeyi hedef pencereden alır ve akıma birleştirir, ikincisi tersini yapar.
Daha sonra oturumu içinden aşağıdakileri çalıştırarak tmux oturumunuzu yeniden yükleyebilirsiniz:
$ tmux source-file ~/.tmux.conf
Prefix+s
ve istemi de pencere adı girin o pencereye bölmeyi göndermek için ...
join bölmesi cevaptır. Ben de onu tmux belgelerine dayanarak kullanma girişimlerimle ilgili sorunlar yaşıyordum. -T ve -s anahtarlarının [oturum:] penceresini değil [oturum]: penceresini kabul ettiğini göründüğünü keşfettim. Yani, oturumu belirtmenin isteğe bağlı olduğunu, ancak şunları içerdiğini söylemek gerekir: zorunludur. (Tmux 1.5 kullanıyorum)
Bu nedenle, geçerli pencereye bir bölme eklemek ve pencereyi 1 bölmeye yerleştirmek için, komut (Ctrl-B veya bağlama anahtarınız ne olursa olsun, ardından) olur ...
:join-pane -s :1
Daha sonra, varsayılan olarak: Ctrl-B! Bir kısayola bağlamak istiyorsanız, s gibi bir varsayılan bağlayıcıyı geçersiz kılmamanızı öneririm, çünkü yolun aşağısında, seçim oturumunu içeren bir cevap için internete bakacaksınız ve sisteminizde çalışmayacak. Break bölmesinin bağlı olduğuna dikkat edin! ve @ hemen yanındadır ve varsayılan olarak hiçbir şeye bağlı değildir. Bu yüzden bu bağlayıcıyı öneriyorum ...
bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'"
Alternatif olarak, etkileşimli bir seçiciye sahip olmak ...
bind-key @ choose-window 'join-pane -h -s "%%"'
Alternatif olarak, her zaman en son ziyaret edilen pencereye katılmak için ...
bind-key @ join-pane -h -s !
NOT: -h
Panları yatay olan (dikey bölünmüş) istiflemenin tersi olan varsayılan davranışa karşı istiflemesine neden olur.
En önemlisi kısayol olarak ne seçerseniz seçin ÖĞRENİN. Çünkü onu yeni kurar ve unutursan, kendini yabancı bir sunucuda bulduğun zaman saklanacaksın. Ve kabul edelim ki, bir terminal çoklayıcısının size verdiği en önemli şey uzak sunuculardaki güvenilir oturumlardır.
Bu benim GNU Screen'den Tmux'a dönüşümümü tamamlıyor. Asla arkama bakmayacağım.
Keyfini çıkarın!
window.pane
örneğin join-pane -s 1.0
1. penceredeki bölmeyi 0 geçerli pencereye taşımak için bana yardımcı oldu . Maciej.lasyk.info/2014/Nov/19/tmux-join-pane
:
görünüşe göre artık gerekli değil (örneğin, sadece yapın :join-pane -s 1
). Belki de bu önceki sürümlerde bir
Sanırım bölmeleri kendi pencerelerine taşımak için kullandıklarını daha çok seviyorum. kullanırım
break-pane -t :
Bunu deneyimle çözdüm, ama çok iyi çalışıyor gibi görünüyor. Kolayca tuşlayabilir veya takma ad yapabilirsiniz, komut dosyası gerekmez.
join-pane
.
Bir bölmeye bölme tanımlayıcıyı yazmak istemiyorsanız,
bind-key j "join-pane -s !"
Son aktif panel / pencere geçerli pencereye katılacak.
unknown command: join-pane -s !
1.6 ile alıyorum .
bind-key j join-pane -s !
Diğer cevapları okuduktan ve tmux man sayfasını inceledikten sonra şu an için aşağıdaki bağları çözdüm:
bind-key S choose-window 'join-pane -v -s "%%"'
bind-key V choose-window 'join-pane -h -s "%%"'
Bu, birleştirilecek pencereyi etkileşimli olarak seçmenize ve yeni dikey / yatay bölmeler oluşturmak için küçük harfleri s
/ v
ciltlemelerimi yansıtmanıza olanak tanır. Birisi pencere yerine ayrı ayrı panellerin nasıl seçileceğini bilen varsa bana bildirin.
-v
ve -h
sırasıyla dikey ve yatay "bölünür" oluşturmayın. Sırasıyla dikey ve yatay " yığılmış camlar " oluştururlar. (Dikey olarak istiflenmiş bölmelerin yatay bir ayrılığına sahip olduğunu söylemek gerekir.) Yani beyninizi bu şekilde eğitmek zorundasınız. Aynı zamanda -v
varsayılandır, bu yüzden onu dışarıda bıraktım ve içine koydum, -h
böylece ~/.tmux.conf
bakmanız için bir kopya kağıdı gibi davranıyorsunuz.
Varsayılan olarak, Ctrl+ b, !olur kırmak yeni pencereye etkin bölmeyi ve buna geçiş yapın.
Nerede Ctrl+ bvarsayılan önek için tmux .
tmux
Bu anahtar yürütür komut break-pane
(diğer adı: breakp
) yürütüldüğü gibi cmd-break-pane.c
ve varsayılan olarak bağlanmış anahtar bindings.c görüldüğü gibi list-keys
(diğer adı: lsk
) komutu çıkışı:
bind-key -T prefix ! break-pane
Anahtar bağlarını değiştirmek zorunda değilsin.
Taşımak istediğiniz bölmenin odağı varken , Önek yazın ve ardından hedef pencerenin numarası aynı oturumda :join-pane -t :1
nerede 1
olursa olsun. Adını hazırlayarak başka bir oturuma taşıyabilirsiniz project:3
. Benim için join-pane
tab-autocompletes j
.
Hedefte yaratılan yeni bölmenin yönünü ayarlamak için komuta bir -h
ya da -v
geçiş yapın ya da yeniden düzenlemek için ona ve Önek + spaceseçeneğine gidin .