5

私は tmux 1.7 にアップデートしたところ、man ページにはmovew次を使用するための新しいオプションが-rあります。

move-window [-rdk] [-s src-window] [-t dst-window] (別名: movew) これは、src-window のウィンドウが dst-window に移動されることを除いて、link-window と同様です。-r を使用すると、base-index オプションを考慮して、セッション内のすべてのウィンドウが順番に再番号付けされます。

セッションに 3 つのウィンドウがある場合: 1 2 3 で、ウィンドウ 1 から次のコマンドを試します。

prefix : movew -r -t 4

エラーが発生します:

セッションが見つかりません: 4

これは、ウィンドウ 1 をウィンドウ 4 に移動して、ウィンドウの名前を変更するだけではありませんか? 私はそれを新しいセッションに移動しようとしているのではなく、同じセッション内の新しいウィンドウに移動しようとしています。

4

1 に答える 1

7

ドキュメントにはこれが明示されていませんが、 を使用する-rと、引数 to-tはウィンドウ指定子ではなく、セッション指定子として解釈されます。

したがって、文字列「4」に一致する/名前が付けられたセッション内のすべてのウィンドウの番号を付け直すようにtmuxmove-window -r -t 4に指示します。

*base-index 2 つのコマンド ( 1 に設定したと仮定) を使用して、必要なことを達成できるようです。

move-window -t 4 ; move-window -r

コマンドのシーケンスをキーにバインドできますが、セミコロンをエスケープする必要があります (最初のバインド コマンドの直後に 2 番目のコマンドが単純に実行されないようにするため)。

bind-key : move-window -t 4 \; move-window -r

また、通常、ウィンドウ番号の「ギャップレス」シーケンスを維持している場合 (たとえば、renumber-windowsオプションを有効にしている場合)、 を に置き換える4:、コマンド ペアは任意の数のウィンドウ (3 つ以下だけでなく) で:機能します。宛先ウィンドウ指定子は、「現在のセッションで最初に使用されていないウィンドウ番号」を意味します (つまり、既にウィンドウ 1 ~ 3 がある場合は 4)。


* 1:A、2:B、3:C などの一連のウィンドウを 1:B、2:C、3:A に変換する (つまり、ウィンドウ #1 (「A」) を2–4 ではなく 1–3 になるようにすべての番号を付け直します)。

于 2012-10-15T05:55:48.883 に答える