为什么要按Ctrl +。 当我将它绑定到Emacs中的命令时不工作?

C-。 当我将它绑定到Emacs中的一个命令时,在terminal中不起作用。 我在gnome-terminal和real terminal tty1上试过这个程序。 我用-nw标志启动Emacs,然后按Ch kdescribe-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) 

简而言之,大多数terminal仿真器的控制字符都是有限的(原因很简单,他们仿效的原始terminal同样受到限制)。

所以你的terminal很可能不会产生任何其他的东西. 当你按下C-. (如果是这样的话,这基本上是你的答案,除非有一些方法来configurationterminal做其他事情)。

(任何时候你认为Emacs在terminal上运行时都不会处理某些input,你应该尝试validationEmacs实际上是否接收到你认为是的input。)

如果你的terminal生产的东西不是. ,那么请参阅以下问答以获取有关如何让Emacs识别序列的详细信息:

如果你可以运行一个xterm,那么你可能是运气好,由于一些xterm特定的增强。 看看下面的内容:

其他一些相关的问答:

  • 如何在terminal上发送S-RET到Emacs?
  • 为什么emacs将PageDown(<next>)键与M- [?