我的xterm
配置是生成此序列:
Ctrl ~Shift <Key>Tab: string(0x1b) string("[27;5;9~") \n\
在tmux
它之下几乎总是不起作用(有时它会通过)。可能是什么原因?
答案1
tmux
文件中有一个转义序列模式表,xterm-keys.c
以便它可以支持 xterm 样式的修改特殊键。它匹配这个模式:
{ '\t', "\033[27;_;9~" },
\033[27;5;9~
使用下划线字符作为通配符到您的字符串。该表将转义序列映射为tmux
了解以下内容的事物:
- 特殊键,带有control和shift修饰符
- 其他keys where
tmux
忽略那些修饰符
通常,它将您的转义序列转换为一个tab字符,您可能不会注意到(除了可能触发名称完成之外)。如果按住该键,您将使键盘重复得足够快,以致于tmux
无法跟踪时间,并允许各个字节通过(功能键识别的限制)。
如果传入的转义序列与这些模式之一不匹配,并且在终端描述的特殊键列表中找不到,则tmux
可能会完全丢弃输入(由于按键重复等而导致误解)。