bir bölmeyi iki pencere arasında yansıtma


15

Aynı bölmenin tek bir tmux oturumunun iki farklı penceresinde görünmesi mümkün müdür?

Genellikle ana penceremde üst bölmede vim (terminal yüksekliğinin yaklaşık% 80-90'ı) ve üzerinde çalıştığım programı çalıştırdığım alt bölmede bir komut satırı bulunan tek bir yatay bölünme var. Alt pencere çok küçük olduğundan, çoğu zaman hata çıktısını göremiyorum ve geri gitmek için tmux'un klavye kısayollarını kullanmak yorucu oluyor. İkinci penceremin aynı panele eklenmesini istiyorum, böylece hata çıktımdan daha fazlasını görmem gerekirse, kaydırma ile uğraşmak zorunda kalmadan hızlıca ikinci pencereye geçebilirim. Mümkün mü?

(Sanırım bir geri dönüş bir günlük dosyasına stdout yazmak ve ikinci penceremde kuyruk yazmak için tee gibi bir şey kullanmak olurdu sanırım.

Yanıtlar:


8

Varsayılan olarak Prefixve tuşlarına basarak bir bölmenin "zum durumu" nu değiştirebilirsiniz z(varsayılan önek Ctrl+B).

Bu, geçerli bölmeyi (örneğin komut satırı bölmeniz) tüm pencereyi işgal edecektir. Basın Prefixve ztekrar "unzoom" bölmesinde için.


11

Korkarım bu, yapamayacağınız şeylerden biridir ( tmuxbir bölmenin farklı boyutlarda birkaç alanda görüntülenmesi ile ilgili sorunların ana neden olmasını beklerim). Bununla birlikte, bu sorunu çözmenin birkaç yolu vardır - hepsi belirli eylemleri bazı tuş kombinasyonlarına bağlamaya dayanır. Çok fazla kullandığınız düzene bağlı olduğundan, bahsettiğiniz iki bölmeli basit bir düzene sahip olmak hayatınızı daha kolay hale getirir

  1. rotate-window - sadece bölmeleri değiştirir, böylece komut çıkışı için (% 80 ve ViM için küçük pencere) size% 80-90 verir.

  2. break-pane vs. join-pane -v -p <preview_percentage> -t !

  3. pipe-paneile commandadlandırılmış boruya tamponlanmamış yönlendirme (ile oluşturulan örneğin, bir dosya sistem düğüm olarak mkfifo) - daha sonra kullanmak tail -fiçin diğer bölmede bu adlı boru.

  4. lessaynı zamanda tail(en azından GNU olanı) takip moduna sahip olan çıkışı boruya bağlayın.

  5. resize-pane -Zküçük panelde tam terminalde yakınlaştırır. Sonraki yakınlaştırma / uzaklaştırma, etkin olmasını sağlar, böylece rahat çalışması için biraz hile gerekir.


2
BTW - "Bir panelin farklı boyutlarda çeşitli alanlarda gösterilmesiyle ilgili sorunların temel nedeni olmasını beklerdim. oturumlar unix.stackexchange.com/questions/24274/… . Sadece daha küçük pencereye dolgu ekler. Teorik olarak bölme yansıtma aynı şekilde yapılabilir.
mahemoff

Hm ... haklısın, bunun için bir yol olabilir.
peterph

1

Yalancı oturumunuzu bir dosyaya ve o taildosyayı ikinci bir pencerede çıktılamak için bir komut dosyası kullanabilirsiniz .

Çalışma bölmenizde.

script -f tailme.out

Ve görüntüleme bölmenizde.

tail -f tailme.out

1

Durumunuz Prefix+ ziçin en doğrudan çözüm olacağı konusunda başkalarına katılıyorum , ancak bir bölmeyi yansıtmanın genel sorusu için işe yarayabilecek bir kesmek var - tmux içinde bir ekran oturumu yerleştirmek.

GNU ekranını kurun, sonra yansıtmak istediğiniz bölmeye başlayın. Sonra screen -xdiğer bölmelere takın.

İsterseniz bölmeye başka bir tmux oturumu da yerleştirebilirsiniz, ancak tmux oturumları dikkatle iç içe yerleştirilmelidir.

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.