在我重新映射Caps Lock
到的许多其他修改中Hyper
,一个来自Space-cadet 键盘的古老修饰键
。
但是我找不到如何将它用于 Tmux 中的键绑定的示例,它具有类似 Emacs 的键绑定定义,例如C-k
在它们两个中都定义了 Ctrl-k,所以我尝试了H-k
在 Emacs 中完美运行的方法,但是作为事实证明,不是在 Tmux 中。
来自我的确切绑定定义 .tmux.conf
bind-key -T copy-mode H-k send-keys -X -N 30 scroll-down
Run Code Online (Sandbox Code Playgroud)
导致以下错误:
/home/attila/.tmux.conf:21: unknown key: H-k
Run Code Online (Sandbox Code Playgroud)
我知道有一个技巧可以将Hyper
键模仿为同时按下所有其他修饰键,但是我使用xcape,所以这不是一个选项。
您的终端不支持“hyper”修饰符,更不用说 tmux。
tmux 是一个 TUI 应用程序。它只知道终端发送给它什么。终端,在 POSIX 通用终端接口范式中,只发送字符;普通字符、控制字符、转义序列和控制序列。没有原始击键和单独传输的修饰键信息的概念。tmux 与其他 TUI 应用程序一样,不涉及任何此类概念。
由终端和终端仿真器响应于功能键和扩展键而传输的一些控制序列可以包括指定瞬时修改器状态的参数。但DEC VT惯例,他们通常遵循只⇧ Level 2 Shift,⎇ Alt和⎈ Control。它没有“超级”修饰符的概念,DEC 终端没有这样的键。它甚至根本就没有这种用于字母数字键的特殊控制序列的概念;仅适用于计算器、编辑、光标和功能键盘上的(某些)键。
编号man tmux
列出了可识别的按键:
\n\n\n键绑定\n tmux 允许将命令绑定到大多数键,无论有或没有前缀键。
\n\n指定键时,大多数代表它们自己(例如 \n \xe2\x80\x98A\xe2\x80\x99 到
\n
\n \xe2\x80\x98Z\xe2\x80\x99)。Ctrl 键可能以 \xe2\x80\x98C-\xe2\x80\x99 或 \xe2\x80\x98^\xe2\x80\x99 为前缀,Alt(元)以 \xe2\x80\x98M-\xe2\ 为前缀x80\x99。此外,还接受以下特殊键名称:\n 向上、向下、
\n 向左、向右、BSpace、BTab、DC(删除)、End、Enter、Escape、F1 至 F12、Home、IC(插入)、NPage /PageDown/PgDn、PPage/PageUp/PgUp、空格、\n 和 Tab。
您还可以阅读源代码中接受的密钥列表。
\n