web-dev-qa-db-ja.com

プレフィックスキーを使用せずにtmuxでコマンドをバインドする

Tmuxコマンドをキーの組み合わせにバインドして、最初にプレフィックスを押すことなく直接使用することは可能ですか?

ペインを切り替えるにはC-b + nが扱いにくいので、たとえばC-1をバインドしてペイン#1に切り替えることができるかどうか考えていました。

あるいは、C-b + 1を押したときにC-1を送信するようにターミナルエミュレータにショートカットを作成する方法があるのではないでしょうか。

ありがとう!

46
Ivan

あなたの例では、次を使用します:

bind-key -n C-1 select-pane -t 1

bind-keyの-n引数は、接頭辞がないことを意味します。

48
Autoplectic

私はここで受け入れられた答えに問題を抱えています。

tmux(1)によれば、_-n is an alias for -T root_。したがって、_-n_を含めても、実際には「接頭辞がない」という意味ではなく、コマンドがルートテーブルにバインドされることを意味します。これは「非推奨」です。

tmux(1)

ルートテーブルは、プレフィックスキーなしで押されたキーに使用されます。「c」をルートテーブルの新しいウィンドウにバインドする(非推奨)ことは、プレーンな「c」が新しいウィンドウを作成することを意味します

これが言っているように見えるのは、

_bind -n c new-window_

cを押すと、新しいウィンドウが作成されます。実際に作成します。

"c"が3番目に多いことを考えると、作者のフレーズ "お勧めできません"のドライユーモアは、平均的なtmuxセッションではもちろん "c"が何度も押されるという事実です。英語で頻繁に使用される文字

別の例として、tmuxウィンドウの高速切り替え(PageUp/PageDownキーを使用)を次に示します。

_unbind NPage
unbind PPage
bind -n PPage previous-window
bind -n NPage next-window
_
2
g33kz0r