tmuxでウィンドウ番号を変更する

tmuxでウィンドウ番号を変更する

私はしばしばtmuxに10以上のウィンドウが表示されることがあります。後で私は古いもののいくつかを閉じました。ウィンドウ15の番号をウィンドウ3(もう存在しない)に戻す方法はありますか?または、pack空のスロットがないようにすべてを再組み立てしますか?そうすることができないので、より高い番号のウィンドウにジャンプするのが難しいので、このようにしたいと思いますCtrl+B, 15。リストウィンドウを使用してCtrl+B, wから、開くウィンドウに対応する文字を入力する必要があります。

私は窓を変えることができることを知っています。たとえば、Ctrl+B, c空のスロット3で開く新しいウィンドウ()を作成できます。その後、swapwウィンドウ15とウィンドウ3を開き、ウィンドウ15を閉じることができます。明らかにこれは退屈なアプローチです。

tmuxで複数のウィンドウを管理する方法は?

答え1

次が必要なようです。

move-window [-rdk] [-s src-window] [-t dst-window]
              (alias: movew)
        This is similar to link-window, except the window at src-window
        is moved to dst-window.  With -r, all windows in the session are
        renumbered in sequential order, respecting the base-index option.

引数なしで呼び出すと、movew現在のウィンドウが最初の自由位置に移動します。movew -rすべてのウィンドウの番号がすぐに再割り当てされます。

答え2

マルチプレクサ1.7 隙間のない、または塗りつぶされたウィンドウ番号の設定と維持に役立ついくつかの機能があります。

  • このコマンドは、セッション(現在のセッションまたはこのオプションで指定されたセッション)のすべてのウィンドウ番号を再設定するmove-window新しいオプションを学習します。-r-t

    move-window -r{1:A、4:B、15:C}などのウィンドウセットがある場合は、{1:A、2:B、3:C}に番号を付け直すことができますbase-index。 1) この場合。

  • renumber-windowsセッションオプションが有効な場合マルチプレクサmove-window -rウィンドウを閉じると、セッションウィンドウの番号が自動的に再割り当てされます(同じ)。

    この動作が好きな場合は、それをオーバーライドしないすべてのセッションが自動的に有効になるようにグローバル値に設定できます。

    set-option -g renumber-windows on
    

答え3

私はしばしば、ウィンドウがあるセッションなど、ウィンドウ番号の間にスペースがある状況に直面します。

1 3 4 8 9 13

私はそれぞれの順序を変更せずに「ウィンドウ番号を変更する」オプションを有効にせずに順序を変更するtmuxスクリプトを作成しました。結果:

1 2 3 4 5 6

.tmux.confに次の内容を入力してください。

bind R                                      \
    set -g renumber-windows on\;            \
    new-window\; kill-window\;              \
    set -g renumber-windows off\;           \
    display-message "Windows reordered..."

ウィンドウの順序を変更する(またはバインディングを変更するには)[PREFIX] - Rを押します。

私は現在tmux 1.9aを実行しています。

上記はより簡単なものに置き換えることができます。

bind R                                      \
    move-window -r\;                        \
    display-message "Windows reordered..."

答え4

以前の答えはすべて良いですが、少数のウィンドウだけを混ぜたい場合は、ここにきちんとした解決策があります。

move-window -t <number>

現在のウィンドウは新しいウィンドウ番号に移動されます(ウィンドウ番号はまだ埋め込まれてはいけません)。 2つのウィンドウを置き換えるには、まず1つのウィンドウを一時的に新しい番号に移動します。たとえば、ウィンドウ3と5を交換します。

move-window -s 3 -t 99
move-window -s 5 -t 3
move-window -s 99 -t 5

関連情報