在Haskell模式下,快捷方式C-c C-=
被定义为执行something。
尝试使用此快捷方式时,我意识到emacs无法识别快捷方式C-c C-=
。
的确,当我在emacs上尝试快捷方式时,虽然我按了C-c =
,但未定义缓冲区写C- C-=
。我和其他一些符号有问题,比如'。'要么 '§'。但是C-c C-l
或C-c C-c
等快捷方式可以使用。
我尝试删除.emacs
,但我遇到了同样的问题。
我们都在ArchLinux(64位)上,我们在控制台中使用emacs。键盘是一种讽刺。
问题来自emacs? Arch Linux?
答案 0 :(得分:1)
您的终端无法发送Emacs C-=
,因此您无法使用该密钥序列。 (如果Emacs 收到它,会识别它,但这不会发生。)
您的选择是:
name-of-command
RET (对于任何与您无法使用的键序列绑定的命令)。使用 Ch m 查看主模式的绑定,或 Ch b 查看 all 当前绑定,以了解这些命令名称是什么。使用最后一个选项,您可以使用终端可以发送的序列来伪造无法发送的序列。
Cc C - = 将变为 Cc Cx @ c =
如果您真的想使用最后一个选项,可以设置自定义绑定以简化序列(在某些情况下可能,以避免与现有序列冲突)。有关详细信息,请参阅https://stackoverflow.com/a/24804434/324105的末尾。
答案 1 :(得分:1)
添加到phils' post - 另一个选项是Emacs包(我写的),它可以教Emacs和终端如何正确识别所有PC键盘键和修饰键组合:
https://github.com/CyberShadow/term-keys
默认配置已包括编码键组合,如 Ctrl = ,以及类似的变体。