【发布时间】:2014-08-20 10:23:10
【问题描述】:
在控制台中使用 emacs 时,我遇到了这个问题:按下 C- 时,它只是插入一个空格,而不是调用 set-mark 函数。控制键在控制台中起作用,与包括 CTRL 键在内的其他组合键一样(例如 C-h-b、C-x C-c)。
在 X 下,每个键绑定都能正常工作,所以我认为这不是 emacs 问题,而是与控制台相关的问题。有没有人知道从哪里开始寻找解决方案?
编辑:感谢链接,但它也不起作用
在按下 C-h l(显示输入到 emacs 的键)后,我注意到 emacs 根本没有获得 C 空间,只有空间。但是 emacs 仍然可以正确获取其他 Ctrl 键组合。我正在使用 linux 控制台,据我所知(如果我错了,请纠正我)它不是模拟器:它是终端。不幸的是,我不知道如何修复这个烦人的错误,因为我发现 emacs 非常有用。
【问题讨论】:
-
如果您执行
C-h k C-<space>,您会看到什么? emacs 是否只看到一个空白字符,或者另一个不绑定任何特殊内容的修饰符?如果 Control 在控制台中的其他任何地方都有效,我不确定您是否可以如此轻松地排除 emacs。但是你也可以弄乱 /usr/share/kbd/keymaps 中的键盘映射(用loadkeys加载一个新的),看看你是否能弄清楚发生了什么。 -
这很可能是终端仿真问题,因为它们不一定能看到您发送的控制序列。查看this related thread(以及其中的链接)了解更多详情。
标签: linux emacs console key-bindings tty