
cntrl + shift + 0とcntrl + shift + 9をそれぞれ使用して、次のセッションと前のセッションに変更するためにtmux.confファイルを変更したいと思います。しかし、次のセッションと前のセッションのターゲットを取得する方法がわかりません。
これが私が今まで持っているものです:
bind -n C-S-0 attach-session -t ganache
しかし、もちろん動作しませんし、ターゲットセッションは動的ではありません。
答え1
これを行うための組み込みキーバインディングがあります(参考資料を参照tmux list-keys
)。
Ctrl )
Ctrl (
ただし、既存のセッション間でスイッチを再バインドできます。以下を実行してください。
bind 'C-S-0' switch-client -n
bind 'C-S-9' switch-client -p
Ctrl+b
その後、+を使用Ctrl+Shift+0
して次の項目に切り替え、Ctrl+b
+を使用してCtrl+Shift+9
前の項目に切り替えることができます。
-r
明らかに、コマンドの前にプレフィックスを必要としないようにフラグを追加することはできますが...何らかの理由で動作させることはできません...しかし、おそらく何かを邪魔しているようです。これがうまくいくはずです(私が理解している場合)。
bind -r 'C-S-0' switch-client -n
bind -r 'C-S-9' switch-client -p
ただし、tmuxのマニュアルページではこれはお勧めできません。
バインディングキー[-nr] [-Tキーテーブル]キーコマンド[引数]
(エイリアス:バインド)キーキーを
コマンドにバインドします。キーはキータブに囲まれています。デフォルトでは(-Tなし)、キーはプレフィックスkeytabにバインドされます。このテーブルはプレフィックスキーの後に押すキーのものです(例: 'c'はデフォルトでプレフィックステーブルの新しいウィンドウにバインドされているため、 'Cb c'は新しいウィンドウを作成します)。ルートテーブルは、プレフィックスキーなしで押したキー用です。ルートテーブルの新しいウィンドウに「c」をバインドすると(推奨されていない)、通常の「c」が新しいウィンドウを作成することを意味します。 -n は -T ルートのエイリアスです。キーはカスタムキーテーブルにバインドすることも、switch-client -Tコマンドを使用してキーバインディングからキーバインディングに切り替えることもできます。 -rフラグは、キーを繰り返すことができることを示します。繰り返し時間オプションを参照してください。デフォルトのバインディングと可能なコマンドについては、list-keysコマンドを参照してください。