我刚刚开始使用 tmux,并一直尝试将我的 MENU 键绑定到前缀,但它给了我“错误的键绑定错误”,如果知道哪些键是有效的或者在conf文件中写入什么以使键起作用,那就太好了
答案1
多路复用器文档这个主题有点模糊(定义字首钥匙):
prefix
钥匙
将接受的键设置为前缀键。除了下面描述的标准按键之外按键绑定, 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
is an unsigned long) tmux 希望前缀是单个字节 – 或者它可以与数字关联的东西。它通过终端数据库执行该关联(并且有点偏向screen
和 的条目xterm
)。
在手册页中,它说
此外,还接受以下特殊键名称:
它指的是与相关的名称术语信息功能,可以使用硬编码字符串来弥补缺失的功能。该关联是通过几个表建立的,您可以在
MENU如果它发送一个与 tmux 记录的指定特殊键之一匹配的字符串,那么您可以在 tmux 中“仅使用”它。在我的键盘上,菜单键发送以下内容(您的可能有所不同):
^[[29~
这将\E[29~
在 terminfo 中。但是,默认终端描述中列出的键都没有xterm
这样做。对于某些非默认终端描述,它可能是F10(作为VT220)或F16(作为VT420),使 xterm 成为可能(通过更改键盘类型并设置不同的TERM
)。
对于其他终端模拟器,您可以更改按键发送的内容,例如,通过 更改MENU为功能键之一。F1F12