Оновлення індексів вікон tmux?


18

Використовуючи tmux, я закрив вікно з індексом 3, тому зараз у мене 1,2,4, ...

Я вважаю за краще мати послідовні вікна, тож чи є спосіб змусити їх повторно індексувати?

Відповіді:


29

tmux 1.7 включає в себе renumber-windowsопцію сеансу, яка підтримує послідовність «без змін» для номерів вікна сеансу. Ви можете встановити параметр "глобально", щоб він застосовувався до всіх сеансів, які не перекрили глобальне значення. Наприклад, у вашому ~/.tmux.conf:

set-option -g renumber-windows on

Якщо ви не завжди хочете, щоб усі ваші сеанси мали «безчинні» номери вікон, тоді ви можете використовувати move-window -r(опція також нова для * tmux 1.7), щоб перенумерувати вікна лише в поточному сеансі (або якийсь інший сеанс, якщо ви використовуєте -tваріант).


дякую за цей варіант, саме це я шукав. tmux дивовижний
Тропіліо

3

Немає вбудованого способу зробити це, але цей баш сценарій повинен працювати. Запустити його протягом сеансу:

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

-dПрапор move-windowУникає даючи це вікно фокус.


Це спрацювало, дякую. Насправді у мене було нульове вікно, тому мені потрібно було почати з i = 0.
mahemoff

2
Ах , я забув , що я мав set-option -g base-index 1в .tmux.conf.
Тор

Навіть за допомогою нових функцій tmux 1.7, я вважаю цю реалізацію корисною, щоб уникнути переміщення деяких вікон.
декіс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.