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は素晴らしい
Tropilio

3

組み込みの方法はありませんが、このbashスクリプトは機能するはずです。セッション内から実行します。

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から始める必要がありました。
マヘモフ

2
ああ、私は私がいset-option -g base-index 1たことを忘れていました.tmux.conf
トール

tmux 1.7の新機能を使用しても、この実装は一部のウィンドウの移動を回避するのに役立つことがわかりました。
dequis
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.