如何在 Tmux 中绑定 Ctrl-Alt-[0-9]?

如何在 Tmux 中绑定 Ctrl-Alt-[0-9]?

我可以使用 MCa、MCb 等绑定 Ctrl-Alt-[az]。

但是,当我尝试绑定 Ctrl-Alt 和数字键时,我得到:

.tmux.conf: 45: unknown key: M-C-0

知道为什么吗?我正在运行 tmux 版本 1.7

有关的:如何绑定“Ctrl-Alt-b”作为tmux的前缀?

答案1

问题是tmux不期望control0.

在 中key_string_lookup_string,它会去掉修饰符,然后(因为你有修饰符control)尝试将其从类似的内容转换为^A(请参阅源代码)。但 ASCII 数字范围是 48 到 57,从代码中可以看出,tmux不会接受数字,返回KEYC_UNKNOWN(失败):

/* Convert the standard control keys. */
if (key < KEYC_BASE && (modifiers & KEYC_CTRL) && !strchr(other, key)) {
    if (key >= 97 && key <= 122)
        key -= 96;
    else if (key >= 64 && key <= 95)
        key -= 64;
    else if (key == 32)
        key = 0;
    else if (key == 63)
        key = KEYC_BSPACE;
    else
        return (KEYC_UNKNOWN);
    modifiers &= ~KEYC_CTRL;
}

相关内容