Cập nhật chỉ mục cửa sổ với tmux?


18

Sử dụng tmux, tôi đã đóng một cửa sổ được lập chỉ mục 3, vì vậy bây giờ tôi có 1,2,4, ...

Tôi muốn có các cửa sổ tuần tự, vậy có cách nào để buộc chúng lập chỉ mục lại không?

Câu trả lời:


29

tmux 1.7 bao gồm renumber-windowstùy chọn phiên duy trì một chuỗi không có khoảng trống trên đường băng cho các số cửa sổ của phiên. Bạn có thể đặt tùy chọn Nhóm trên toàn cầu, áp dụng cho tất cả các phiên không ghi đè giá trị toàn cầu. Ví dụ ~/.tmux.conf:

set-option -g renumber-windows on

Nếu không phải lúc nào bạn cũng muốn tất cả các phiên của mình có số cửa sổ của gap gap, thì bạn có thể sử dụng move-window -r(tùy chọn này cũng mới đối với * tmux 1.7) để đánh số lại các cửa sổ chỉ trong phiên hiện tại (hoặc một số phiên khác nếu bạn sử dụng -tLựa chọn).


cảm ơn vì lựa chọn này, đó chính xác là những gì tôi đang tìm kiếm. tmux thật tuyệt vời
Tropilio

3

Không có cách dựng sẵn để làm điều đó, nhưng tập lệnh bash này sẽ hoạt động. Chạy nó từ trong phiên:

i=0
tmux list-windows | cut -d: -f1 | while read winindex; do 
  if (( winindex != i )); then
    tmux move-window -d -s $winindex -t $i
  fi
  (( i++ ))
done

Các -dlá cờ để move-windowtránh đưa ra cửa sổ đó tập trung.


Điều đó đã làm việc, cảm ơn. Tôi thực sự có một cửa sổ bằng 0, vì vậy tôi cần bắt đầu với i = 0.
mahemoff

2
Ah tôi quên tôi đã có set-option -g base-index 1trong .tmux.conf.
Thor

Ngay cả với các tính năng mới của tmux 1.7, tôi thấy việc triển khai này hữu ích để tránh di chuyển một số cửa sổ.
dequis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.