私はtmuxを使い始めて、メニューキーをプレフィックスにバインドしようとしましたが、「無効なキーバインディングエラー」が発生しました。どのキーが有効であるか、または有効にするためにconfファイルに何を書くべきかを知っておくと便利でしょうか? 、それはいい
答え1
マルチプレクサ文書このトピックはやや曖昧です(定義プレフィックスキー):
prefix
鍵
許可されるキーをプレフィックスキーとして設定します。下記の標準キーに加えてキーバインディング、プレフィックスを設定しない場合は、特殊キー「None」でプレフィックスを設定できます。
しかし、ソースコードを読むここ
if (cmd_get_entry(self) == &cmd_send_prefix_entry) {
if (args_has(args, '2'))
key = options_get_number(s->options, "prefix2");
else
key = options_get_number(s->options, "prefix");
cmd_send_keys_inject_key(item, item, key);
return (CMD_RETURN_NORMAL);
}
key_code
tmuxは、プレフィックスがシングルバイトであるか、数字に関連付けることができると予想していることを私たちに伝えます。ターミナルデータベースを介してこの接続を実行します(screen
および項目に対して多少偏りがありますxterm
)。
マニュアルページには次のように記載されています。
また、次の特殊キー名が許可されます。
に関連する名前を指します。用語情報機能:ハードコードされた文字列を使用して、欠落している機能を補完できます。接続は、以下で見つけることができるいくつかのテーブルを介して確立されます。
MENUtmuxレコードの指定された特殊キーの1つと一致する文字列を送信する場合は、tmuxで「ただ使用」できます。私のキーボードでは、メニューキーは以下を送信します(ユーザーのキーは異なる場合があります)。
^[[29~
これは\E[29~
terminfoにあります。ただし、基本端末記述にリストされているキーのどれもxterm
これを実行しません。基本以外の端末記述の場合は、F10次のようになります。VT220)またはF16(VT420)、xtermを有効にします(変更してキーボードタイプそして異なる設定をしてくださいTERM
)。
MENU他の端末エミュレータを使用すると、ファンクションキーの1つに変更するなど、キー押下が送信する内容を変更できます。F1F12