Aggiornamento degli indici delle finestre con tmux?


18

Usando tmux, ho chiuso una finestra indicizzata 3, quindi ora ho 1,2,4, ...

Preferirei avere sequenziali di Windows, quindi c'è un modo per costringerli a reindicizzare?

Risposte:


29

tmux 1.7 include l' renumber-windowsopzione di sessione che mantiene una sequenza "gapless" per i numeri di finestra di una sessione. È possibile impostare l'opzione "a livello globale" affinché venga applicata a tutte le sessioni che non hanno ignorato il valore globale. Ad esempio nel tuo ~/.tmux.conf:

set-option -g renumber-windows on

Se non si desidera sempre che tutte le sessioni abbiano numeri di finestra "gapless", è possibile utilizzare move-window -r(l'opzione è anche nuova a * tmux 1.7) per rinumerare le finestre solo nella sessione corrente (o in qualche altra sessione se si utilizza il -topzione).


grazie per questa opzione, è esattamente quello che stavo cercando. tmux is amazing
Tropilio,

3

Non esiste un modo integrato per farlo, ma questo script bash dovrebbe funzionare. Eseguilo dall'interno della sessione:

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

La -dbandiera move-windowevita di focalizzare quella finestra.


Ha funzionato, grazie. In realtà avevo una finestra zero, quindi avevo bisogno di iniziare con i = 0.
mahemoff,

2
Ah ho dimenticato che ho avuto set-option -g base-index 1a .tmux.conf.
Thor,

Anche con le nuove funzionalità di tmux 1.7, ho trovato questa implementazione utile per evitare di spostare alcune finestre.
dequis
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.