Tmux'ta önek anahtarı ile komut anahtarı arasındaki zaman aşımını nasıl kısabilirim?


45

Benim ~/.tmux.conf:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

bind-key o split-window -v
bind-key e split-window -h

bind-key w kill-pane

(komut tuşlarını GNOME Teminator ile aynı yapmak için)

Durum: Yatay bölme penceresini 2 bölmeye ayırdıktan sonra Ctrl+ a Upoklu bir bölmeye geçtikten sonra , bu bölmedeki kabuk geçmişi komutlarını görüntülemek için bir süre (2-3 saniye) beklemeliyim. Çünkü Uptekrar basarsam, bana kabuk geçmişi komutunu göstermek yerine diğer bölmeye geri döner. Bunu nasıl kısabilirim?


Potansiyel olarak faydalı bir alternatif, CTRL + B q kullanmaktır, bu tmux'taki pencere numaralarını gösterir. CTRL + B tuşlarına basmak q <sayı> sizi o pencereye götürür, yukarı / aşağı hemen kullanılabilir duruma gelir. Q harfini hemen takip etmelisiniz. Bunu kontrol eden bir zaman aşımı süresi de var.
Spacen Jasset

Yanıtlar:


53

Yukarı, Aşağı, Sol ve Sağ ( select-paneaynı tuşların bağlanma; ve Kontrol ve Meta- resize-pane) varsayılan olarak “tekrarlanabilir” bağlardır (üzerinden yapılır bind-key -r). Önek anahtarını ve tek bir tekrarlanabilir anahtarı yazdıktan sonra, repeat-timeoturum seçeneği aracılığıyla belirtilen milisaniye sayısına (varsayılan olarak 500ms'dir) başka bir tekrarlanabilir anahtar (öneki tekrar yazmadan) yazabilirsiniz .

Şu anki değerini repeat-timeşu kabuk komutlarıyla inceleyebilirsiniz:

tmux show-options -g | grep \^repeat-time     # global
tmux show-options    | grep \^repeat-time     # this session

Geçerli oturum için tekrarı devre dışı bırakmak istiyorsanız, ön ekinizi, iki noktalarınızı yazın ve şu komutu girin:

set-option repeat-time 0

Veya rahat bir sıfır olmayan değer bulabilirsiniz. Gerçekten yaklaşık 2000 (yani 2s) değerine sahipseniz, o zaman bunun ayarlandığını tahmin ediyorum /etc/tmux.conf.

Tüm oturumlarınız için tekrarlamayı devre dışı bırakmak (veya zaman aşımını değiştirmek) istiyorsanız, bu değeri kullanarak global değeri ayarlayın:

set-option -g repeat-time 0

Oturum başına bir değer ayarladıysanız, genel değerin o oturumda etkinleşmesi için önce değeri kaldırmanız gerekir ( set-option -u repeat-time). Eğer .tmux.confkalıcı olarak bırakmayı tercih ederseniz, global değeri kendiniz üzerinden belirlemek isteyebilirsiniz .

Yalnızca Yukarı ile ilgili sorunlarınız varsa, sorunu şu şekilde yeniden bağlayabilirsiniz -r:

bind-key Up select-pane -U

4

İsterseniz belirli tuş bağlamaları için tekrarı da kapatabilirsiniz. Örneğin, paneller arasında geçiş yapmak için varsayılan ciltler aşağı doğru kaynar:

bind-key -r Up    select-pane -U
bind-key -r Down  select-pane -D
bind-key -r Left  select-pane -L
bind-key -r Right select-pane -R

Bunları -rbayraksız,

bind-key    Up    select-pane -U
bind-key    Down  select-pane -D
bind-key    Left  select-pane -L
bind-key    Right select-pane -R

Şahsen ben bölmeyi değiştirmeyi tekrarlanamaz olmayı tercih ederim. Çok sayıda küçük bölmeye bölünmüş bir pencereniz varsa, tekrarlamak güzeldir, ancak bu bölmeler içinde çalışan uygulamalarla (kabuk geçmişi, vim vb.) Önemli çarpışmalara (örneğin tanımladığınız gibi) yol açabilir ve ben Zaten genellikle pencere başına en fazla 2 bölme vardır. Ama her biri kendi.

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.