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

Jon*_*sso 5 tmux

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

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

.tmux.conf: 45: unknown key: M-C-0
Run Code Online (Sandbox Code Playgroud)

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

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

Tho*_*key 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;
}
Run Code Online (Sandbox Code Playgroud)