Yanıtlar:
Bunu yapmak için komut join-panetmux 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.confiç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+sve 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: -hPanları 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.01. 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/ vciltlemelerimi yansıtmanıza olanak tanır. Birisi pencere yerine ayrı ayrı panellerin nasıl seçileceğini bilen varsa bana bildirin.
-vve -hsı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 -vvarsayılandır, bu yüzden onu dışarıda bıraktım ve içine koydum, -hböylece ~/.tmux.confbakmanı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 .
tmuxBu anahtar yürütür komut break-pane(diğer adı: breakp) yürütüldüğü gibi cmd-break-pane.cve 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 :1nerede 1olursa olsun. Adını hazırlayarak başka bir oturuma taşıyabilirsiniz project:3. Benim için join-panetab-autocompletes j.
Hedefte yaratılan yeni bölmenin yönünü ayarlamak için komuta bir -hya da -vgeçiş yapın ya da yeniden düzenlemek için ona ve Önek + spaceseçeneğine gidin .