16

C-.当我将它绑定到 Emacs 中的命令时,它在终端中不起作用。gnome-terminal我在真正的终端 tty1上尝试了这个程序。-nw我用标志启动 Emacs ,然后按C-h k(命令describe-key),然后按C-.。Emacs 只接收.,没有Ctrl. 我如何让它在 Emacs 中工作?

我正在用这个过程绑定密钥:

(define-key c-mode-base-map (kbd "C-.") 'semantic-ia-fast-jump)

或者

(define-key c-mode-base-map [(control .)] 'semantic-ia-fast-jump)
4

1 回答 1

10

简而言之,大多数终端仿真器在它们可以产生的控制字符方面受到限制(原因很简单,它们所仿真的原始终端同样受到限制)。

.因此,除了按下时,您的终端很可能不会产生任何东西C-.(如果是这种情况,这基本上就是您的答案,除非有某种方法可以配置终端以其他方式执行)。

(任何时候你认为 Emacs 在终端中运行时没有对某些输入进行操作,你应该尝试验证 Emacs 是否确实接收了你认为的输入。)

如果您的终端生成的不是..,请参阅以下问答以获取有关如何让 Emacs 识别序列的详细信息:

如果您可以运行 xterm,那么您可能很幸运,因为有一些特定于 xterm 的增强功能。看看以下内容:

其他一些相关问答:

于 2012-06-20T11:28:04.937 回答