Yeniden boyutlandırma bölmesi mac'ta tmux için çalışmıyor mu?


33

Aradıktan sonra, ctrl + b (PREFIX) öğesinin ctrl + ok'un geçerli bölmeyi yeniden boyutlandırması gerektiğini düşündüm. Ama bu çalışmıyor. Bir şey mi eksik?

Teşekkürler.


Bilginize, PREFIX: resize-pane ile genişliği ayarlamıştım, fakat yukarıdaki komutun neden işe yaramaması gerektiğini merak ediyorum.
Biswanath

Yanıtlar:


42

Muhtemelen, terminaliniz basılı tuttuğunuzda Controlve bir ok tuşuna basarken (farklı) bir sekans göndermiyordur .

catAnahtarları çalıştırıp yazmayı deneyin (çıkmak için Control-C). Muhtemelen bunu (örn.) UpVe Control- Upher ikisinin de aynı diziyi ürettiğini göreceksiniz .

OS X Terminal uygulaması

Varsayılan konfigürasyonunda OS X Terminal uygulaması dizisini gönderir ^[[A(veya ^[OAsiz yazarken olsun) Upveya Control- Up(aynı zamanda herhangi biriyle kombinasyon Shiftve Optionde).

Bununla birlikte, uygun kodları göndermek için Terminal'i yeniden yapılandırabilirsiniz . Bu biraz sıkıcı, ancak genellikle sadece bir kez yapmanız gerekir.

  1. Terminal > Tercihler…
  2. Ayarlar üst seviye sekmesi
  3. değiştirmek istediğiniz profili seçin
  4. Klavye sekmesi
  5. yeni bir cilt eklemek için artı düğmesini tıklayın

    • imleç tuşu seç
    • değiştiriciyi control
    • kullanmak Send Text:eylemi
    • yazın Escape(olarak görünecektir \033ardından) [1;5ve bir daha karakter:
      • Aiçin Up,
      • Biçin Down,
      • Ciçin Rightveya
      • D için Left
    • ciltleme eklemek için Tamam'ı tıklayın

Örneğin, nihai dizisi Control- Upbenzeyen sonunda gerekir \033[1;5A.

Bu diziler, XTerm'in ürettiğidir (ayrıntılar için ctlseqs belgelerine bakın).

Diğer ok tuşları için son adımı tekrarlayın.

Öğe 2

iTerm 2 beklenen diziyi varsayılan olarak gönderir.


Gerçekten de, Ctrl + {ok tuşları}, uygulama değiştirme için eşleştirilmiştir. Diziyi göndermiyorlar.
Biswanath

19
Bunu bir vanilya Mavericks makinesinde (MBP retina 2013 yılının sonlarında) denedim, ancak Sistem Tercihleri ​​-> Klavye -> Kısayollar -> Görev Kontrolü'ndeki tüm Ctrl + Ok tuşu kısayollarını devre dışı bırakmadan da çalışmadı. catKlavye olaylarını görmek için ipucu kullanma konusunda +1
Alex Leach

Ben tmux başlayana kadar iyi çalışıyor. Tmux'u çalıştırmadan önce ^ [[1; 5A ^ [[1; 5B] alıyorum, ancak tmux'ta ^ [OA ^ [OB.
nakhli

1
@ Sinbadsoft.com: Bu tmux penceresini xterm-keysetkinleştirmemiş gibisiniz ; isteyebilirsin . set -gw xterm-keys on
Chris Johnsen

benim için mükemmel çalışıyor (el capitan).
ling

10

En azından Mavericks ve iTerm2'de, beklemelisiniz, Controldaha sonra b(bekletmek yerine), sonra yön tuşunu basılı tutmalısınız. Bu, aşağı yukarı aynı dizileri hemen hemen gönderir Control- byönsüz bir düğme ile çalışır.

Ayrıca, klavye ayarlarına yöneldiğinizden emin olun ve kısayollar sekmesinde herhangi bir görev kontrolünü ve bunun için kullanabileceğiniz klavye kısayollarını Controlve bir yön tuşunu devre dışı bırakın.


7
Teşekkürler! Klavye Kısayolları'ndaki görev denetimini / uygulama pencerelerini bağlamada değişiklik yapılması benim için fark
yarattı

7

Ctrl ↑ ve ctrl- ↓ kombinasyonlarında kontrol tuşu yerine meta tuşunu kullanabilirsiniz. OSX Terminali'nde varsayılan meta tuşu escape tuşudur. Örneğin, bir bölmenin boyutunu artırmak için ctrl-b esc- type yazın.

Escape tuşunu ulaşmak için bir acı buluyorum, bu yüzden seçenek tuşunu bunun yerine meta anahtar olarak kullanıyorum. Terminal.app'da, Terminal> Tercihler> Profiller> Klavye bölümüne giderek değiştirebilirsiniz: "Seçeneği Meta Anahtar Olarak Kullan" seçeneğini işaretleyin.

Artık boyutu artırmak için ctrl-b seçeneğini- ↑ veya boyutu azaltmak için ctrl-b seçeneğini- ↓ yazabilir ve görev kontrol tuşlarını yeniden eşleştirmeniz gerekmez.


Escape kullanmak, MacOS'ta varsayılan olarak Ctr + Arrow tuşunu başka bir masaüstüne kaydırırken tutulması olarak bir çözümdü.
klimat
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.