控制 + 标点符号未在终端中注册

控制 + 标点符号未在终端中注册

为了在终端中使用 emacs,我想使用 这样的组合键Control-'。但是当我尝试该组合键时,它只会'在命令行中写入 。所有标点符号都会发生同样的事情。有办法解决这个问题吗?

答案1

因为ASCII 终端的工作方式Ctrl-'等此类组合毫无意义。

单引号的 ASCII 值为 39 10,由于3910 and 6310仍然等于 39 10,因此结果仍为单引号。只有 ASCII 码在 64 10和 126 10之间(含)的字符才会产生有意义的控制代码(0 10到 31 10)。为了简单起见,我省略了一些细节。

当您不使用 ASCII 终端时,您可以映射这些组合键,因为您正在使用键盘扫描码或某些等效码。

答案2

我编写了一个 Emacs 包,它可以教 Emacs 和终端如何正确识别所有 PC 键盘键和修饰键组合:

https://github.com/Cyber​​Shadow/term-keys

默认配置已经包含编码Ctrl`(以便它可以与`或区分开来CtrlShift`,并且可在 Emacs 中绑定到C-`)。

相关内容