在 tmux 中将 MENU 键绑定到前缀,但它给了我“坏键绑定错误”

在 tmux 中将 MENU 键绑定到前缀,但它给了我“坏键绑定错误”

我刚刚开始使用 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_codeis an unsigned long) tmux 希望前缀是单个字节 – 或者它可以与数字关联的东西。它通过终端数据库执行该关联(并且有点偏向screen和 的条目xterm)。

在手册页中,它说

此外,还接受以下特殊键名称:

它指的是与相关的名称术语信息功能,可以使用硬编码字符串来弥补缺失的功能。该关联是通过几个表建立的,您可以在

MENU如果它发送一个与 tmux 记录的指定特殊键之一匹配的字符串,那么您可以在 tmux 中“仅使用”它。在我的键盘上,菜单键发送以下内容(您的可能有所不同):

^[[29~

这将\E[29~在 terminfo 中。但是,默认终端描述中列出的键都没有xterm这样做。对于某些非默认终端描述,它可能是F10(作为VT220)或F16(作为VT420),使 xterm 成为可能(通过更改键盘类型并设置不同的TERM)。

对于其他终端模拟器,您可以更改按键发送的内容,例如,通过 更改MENU为功能键之一。F1F12

相关内容