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.