Atualizando índices de janela com tmux?


18

Usando tmux, fechei uma janela indexada 3, agora tenho 1,2,4, ...

Eu prefiro ter janelas sequenciais, então existe alguma maneira de forçá-las a re-indexar?

Respostas:


29

O tmux 1.7 inclui a renumber-windowsopção de sessão que mantém uma sequência "sem intervalos" para os números das janelas de uma sessão. Você pode definir a opção "globalmente" para aplicá-la a todas as sessões que não substituíram o valor global. Por exemplo, no seu ~/.tmux.conf:

set-option -g renumber-windows on

Se você não quer sempre todas as suas sessões de ter “gapless” números de janela, então você pode usar move-window -r(a opção também é novo para * tmux 1.7) para renumerar as janelas apenas a sessão atual (ou alguma outra sessão, se você usar o -topção).


obrigado por esta opção, era exatamente isso que eu procurava. tmux é incrível
Tropilio

3

Não há uma maneira integrada de fazer isso, mas esse script bash deve funcionar. Execute-o de dentro da sessão:

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

A -dbandeira para move-windowevitar dar foco à janela.


Isso funcionou, obrigado. Eu tinha uma janela zero, então eu precisava começar com i = 0.
mahemoff 28/09/12

2
Ah eu esqueci que eu tinha set-option -g base-index 1em .tmux.conf.
Thor

Mesmo com os novos recursos do tmux 1.7, achei essa implementação útil para evitar mover algumas janelas.
dequis
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.