Tmux'ta pencereleri yeniden numaralandırma


128

Sık sık tmux'ta ondan fazla pencereyle karşılaşıyorum. Daha sonra, bazı eskilerimi kapatıyorum. Yeniden numaralandırmanın bir yolu var mı, 15 penceresini, 3 penceresini (artık yok)? Ya da packhepsine tekrar gir, böylece boş yer kalmayacak mı? Bunu yapmak isterim çünkü daha yüksek numaralı pencerelere atlamak zordur, çünkü yapamazsınız Ctrl+B, 15. Ctrl+B, wPencereleri listelemek için kullanmam ve sonra açmak istediğim pencereye karşılık gelen harfi yazmam gerekiyor.

Pencereleri değiştirebileceğimi biliyorum. Örneğin Ctrl+B, c, boş yuva 3'te açılacak yeni bir pencere ( ) oluşturabilirim. Sonra swapwpencere 15 ve pencere 3'ü ve sonra pencere 15'i kapatabilirim. Açıkçası, bu sıkıcı bir yaklaşım.

Tmux'taki birçok pencereyi nasıl yönetirsiniz?

Yanıtlar:


123

Buna ihtiyacın var gibi görünüyor:

move-window [-rdk] [-s src-window] [-t dst-window]
              (alias: movew)
        This is similar to link-window, except the window at src-window
        is moved to dst-window.  With -r, all windows in the session are
        renumbered in sequential order, respecting the base-index option.

movewParametresiz çağırmak , geçerli pencereyi ilk boş konuma taşır. movew -rtüm pencereleri bir kerede yeniden numaralandırır.


5
Daha açık bir eğitime ihtiyaç duyanlar için: ctrl b :sonra girin move-window -r( ctrl bvarsayılan önek anahtarı nerede )
işaretleyin

92

tmux 1.7 boşluksuz / paketli pencere numaralarının oluşturulmasına ve korunmasına yardımcı olabilecek birkaç özelliğe sahiptir:

  • move-windowKomut yeni öğrenilen -rbir oturum (geçerli oturumda veya belirtilen birinde tüm pencereleri yeniden numaralandırmak seçeneği -topsiyon).

    {1: A, 4: B, 15: C} gibi bir dizi pencereniz varsa, move-window -ronları {1: A, 2: B, 3: C} olarak yeniden numaralandırmak için koşabilirsiniz (bunlar base-index; Bu örnekte 1).

  • Ne zaman renumber-windowsoturumu seçeneği etkinleştirildiğinde, tmux otomatik (olduğu gibi bir oturumun pencerelerini yeniden numaralandırmak move-window -rherhangi bir pencere kapatıldıktan sonra).

    Bu davranışı seviyorsanız, onu geçersiz kılmamak üzere tüm oturumların otomatik olarak etkinleştirmesi için küresel değerde açabilirsiniz:

    set-option -g renumber-windows on
    

4
En sonunda! Yıllardır bu renumber-windowsseçeneği arıyorum ! Her zaman beni daha önce kapattığım için soldaki yeni pencereleri açtığımı söylemiştim.
Ory Band

15

Sık sık kendimi pencere numaraları arasında, örneğin pencereleri içeren bir oturumda boşluklar olduğu bir durumda buluyorum:

1 3 4 8 9 13

Sıralarını değiştirmeden veya 'pencere yeniden düzenleme' seçeneğini etkinleştirmeden onları yeniden düzenlemek için bir tmux betiği yazdım. Sonuç:

1 2 3 4 5 6

Aşağıdakileri .tmux.conf dosyasına koyun:

bind R                                      \
    set -g renumber-windows on\;            \
    new-window\; kill-window\;              \
    set -g renumber-windows off\;           \
    display-message "Windows reordered..."

Pencereleri yeniden düzenlemek (veya cildi değiştirmek) için [PREFIX] -R tuşuna basın.

Şu anda tmux 1.9a kullanıyorum.

Yukarıdaki daha basit ile değiştirilebilir:

bind R                                      \
    move-window -r\;                        \
    display-message "Windows reordered..."

1
Bu "move-window -r" komutundan farklı mıdır?
PonyEars

2
Hayır öyle değil. Sadece -r penceresini hareket ettirme seçeneğini bilmiyordum :) öğrenmek için asla geç değil, thx!
Ağustos'ta

6

Önceki cevapların hepsi yolunda, ancak tek istediğiniz, şimdi ve tekrar tekrar az sayıda pencereyi karıştırmaksa, özlü bir çözüm.

move-window -t <number>

Geçerli pencereyi yeni bir pencere numarasına taşıyacaktır (ki bu önceden doldurulmamalıdır). İki pencereyi değiştirmek için, önce bir pencereyi geçici olarak yeni bir numaraya getirin. örneğin 3 ve 5 numaralı pencereleri değiştirmek için:

move-window -s 3 -t 99
move-window -s 5 -t 3
move-window -s 99 -t 5

2

Biri öldürüldüğünde her zaman yeniden numaralandırmak için pencerelere ihtiyacınız varsa, bunu şu durumlarda kullanabilirsiniz .tmux.conf:

set-option -g renumber-windows on
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.