Smokin bölmesini nasıl gizlersin?


59

Tmux penceremde 3 bölme var:

--------------------------
|             |      2   |
|             |          |
|        1    |----------|
|             |      3   |
|             |          |
--------------------------

1 ve 2 numaralı bölmelerde vim. Bölme 3, geliştirdiğim bir cli çalıştırıyor. Bazen bölmeler 1 ve 2'yi karşılaştırmak istiyorum, bu yüzden bölmeyi 3 gizlemek istiyorum:

--------------------------
|             |          |
|             |          |
|        1    |       2  |
|             |          |
|             |          |
--------------------------

ve sonra tekrar 3 numaralı bölmeyi geri getirin. 3. bölmeyi öldürmek istemiyorum, çünkü oraya bazı şeyler koydum ve onları yeniden ayarlamaya rağmen gitmek istemiyorum.

  • PREFIX + z2. bölmeyi yakınlaştırabilen ancak bölmeye 1 dokunmadan benzer bir şey var mı ? Veya
  • Bölmeyi 3 hızlı bir şekilde gizlemenin ve gerektiğinde geri getirmenin bir yolu var mı?

Yanıtlar:


71

break-paneVe join-panekomutlarını kullanın . man tmuxDetaylar, seçenekler ve kullanım için bakınız .


Bölme 3'ü Gizle:

Bölmesini seçin 3ve girin Prefix- :break-pane -dP.

tmuxbölmeyi 3arka planda bir pencereye ( -dbayrak) gönderir ve bununla ilgili bazı bilgileri bölme 2'de ( -Pbayrak) yazdırır . Varsayılan olarak şöyle bir şey görürsünüz 1:2.0(anlam:) session:window.pane. Hit qÇalışmaya devam etmek. 1

1 Bazı uygulamalarla -P, session:window.paneüçlüyü tahmin edebileceğinizden bayrağı düşürebileceksiniz : sessionvarsayılanlar geçerli oturuma panevarsayılan ve bir 0süre windowsonra yapılacaklar bir sonraki boş pencere tanımlayıcısı olacaktır.

Bölme 3'ü geri alın:

Bölmesini almak için 3geri düzenini seçin bölmesini 2ve sorunu Prefix- :join-pane -vs 1:2.0anlatarak tmuxbölmesinde bölmek 2dikey ( -v) ve (kaynak) bölmesini (katılmak için -stanımlayıcı ile) 1:2.0. İsteğe bağlı olarak, tanımlayıcıyı sessionveya damgayı bırakabilirsiniz pane. Ayrıca, tmux'un Prefix- :- ile kolayca erişilebilen bir komut satırı geçmişi kaydettiğine dikkat edin Up.

Asmak için muhtemelen biraz zamana ihtiyacınız olacak, ancak bir kez yaptıktan sonra, kesinlikle sizin için uygun olan özel anahtar ciltleri bulabileceksiniz.


Bu soru iş akışınızı iyileştirebilecek bazı faydalı bilgiler ve püf noktaları içermektedir.


Talimatları temizle! Benim için sorunsuz çalışır, cevabımdan çok daha iyi!
Bernhard

Varsayılan olarak, panel 3 en son pencereye bölünecektir, eğer halihazırdaki oturumda 3 pencereniz varsa, panel Pencere 3 olacaktır (pencerenin 0'dan başladığını varsayalım), yani "Pencere 3" deki 3, Açılan pencereler, bu işi özel anahtar ciltlemelerinde nasıl yapabilirim?
CodyChan

5

Bir fikir: tmux'u tmux'da çalıştırın.

Orijinal ayar:

Bölme 1 ve bölme 2; yan yana. Pim 1'deki vim'i normal şekilde çalıştırın.

2. bölmede, tekrar tmux'u çalıştırın ve iki bölme oluşturun (bu sefer üst üste bir tane). Sonra bölme 2.1'deki vim'i ve bölme 2.2'deki CLI'nizi çalıştırın. Bu, istediğiniz davranışla sonuçlanan ikinci Vim örneğinizle birlikte 2.1 bölmesini tam ekran görüntülemenizi sağlar.


Bu benim kutu düşüncesinden bahsettiğim şey!
user881300

Teşekkürler user881300. Bazı kusurları vardır (komutları gönderebilmek için örneğin bazı tuhaflıklar vardır). Bunu test ettikten sonra daha eksiksiz bir cevapla güncellemeyi umuyorum - benzer bir işleve ihtiyacım var.
BinaryBen

2
@ user881300 Teknik olarak, bu kutu düşüncesinin kutusudur.
Mateen Ulhaq

3

Bölme 3'ü gizlemek yerine, biraz hile yapabilir ve çok küçük hale getirebilirsiniz; bu muhtemelen sizin durumunuz için de işe yarar.

2. bölme etkin bölme olduğunda,

PREFIX : resize-pane -D 40

Sonra tekrar yukarı taşımak için

PREFIX : resize-pane -D 28

28 yerine iyi bir sayıyla geçmek zorunda kalacağınız veya bunun yerine, PREFIXEsc4otomatik yeniden boyutlandırma yapan deneyebilirsiniz .


Kullanarak bölmeyi yeniden boyutlandırıyordum set -g mouse-resize-pane onama yeniden boyutlandırma dışında başka seçeneğimiz var mı?
user881300

@ user881300 Hiçbir şekilde bir tmuxuzman değilim , ancak bunun mümkün olup olmadığını öğrenmek isterim.
Bernhard

1
CTRL+B, ALT+<arrow direction to resize>, CTRL+B, ESC, 4(thx @Bernhard) geri yüklemek için.
FelikZ

1

Ben şimdi bu soru neredeyse 5 yaşında ama ben sadece buldum çünkü benzer bir şey yapmak istedim ve user78291'in cevabı sayesinde aşağıdaki anahtar kelimelerle karşılaştım :

bind-key ! break-pane -d -n _hidden_pane
bind-key @ join-pane -s $.1

Bu şekilde, Prefix!mevcut bölmeyi gizlemek ve Prefix@geri getirmek için kullanabilirim. İşin güzel yanı, bu şekilde birden fazla bölmeyi gizleyebilmem.

Mükemmel olmaktan uzak, ancak bölmeleri gizleme ve onları oldukça iyi geri getirme işini yapıyor.


0

Bunun aslında üzerinde çalıştığınız bölmeyi gizlemediğini biliyorum ama bunu tmux'un seçili pencerelere ortak komutlar göndermesini engellemek ve daha basit bir çözüme ulaşmak için yapmaya çalışıyordum.

Bölmeyi görsel olarak gizlemek istemiyorsanız, ancak bölmeye giden herhangi bir girişi durdurmak istiyorsanız. Bir senaryo 5 açık panele bir komut göndermek istediğinizde ancak ikisine de göndermek istemiyor olabilirsiniz.

Bu kullanımda ctrl + s, komutların gitmesini istemediğiniz bölmelerde yapabilirsiniz ( ctrl + stüm girdileri bölmeye kilitler).

İşiniz bittiğinde, ctrl + cgeri dönmek için basın .

Not : ctrl + qKomutlardan sonra, ekrandaki tüm komutları çalıştıracak şekilde basmayın . ctrl + cbunu yapmayacak (bunu Ubuntu'da denedi).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.