为什么要按Ctrl +。 当我将它绑定到Emacs中的命令时不工作?
C-。 当我将它绑定到Emacs中的一个命令时,在terminal中不起作用。 我在gnome-terminal
和real terminal tty1上试过这个程序。 我用-nw
标志启动Emacs,然后按Ch 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)
简而言之,大多数terminal仿真器的控制字符都是有限的(原因很简单,他们仿效的原始terminal同样受到限制)。
所以你的terminal很可能不会产生任何其他的东西.
当你按下C-.
(如果是这样的话,这基本上是你的答案,除非有一些方法来configurationterminal做其他事情)。
(任何时候你认为Emacs在terminal上运行时都不会处理某些input,你应该尝试validationEmacs实际上是否接收到你认为是的input。)
如果你的terminal生产的东西不是.
,那么请参阅以下问答以获取有关如何让Emacs识别序列的详细信息:
- 在Emacs 23.1.1中绑定M- <up> / M- <down>
- Shift-Tab在Emacs中产生了一个神秘的错误
- http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/Translation-Keymaps.html
如果你可以运行一个xterm,那么你可能是运气好,由于一些xterm特定的增强。 看看下面的内容:
- 发送“C-(”到VT100 / xtermterminal(Mac OS X的terminal)Emacs?
- http://www.dur.ac.uk/pjheslin/Software/Emacs/Download/xterm-extras.el
(我不确定第二个链接在这个特定的例子中是否相关,但似乎值得包括)。
其他一些相关的问答:
- 如何在terminal上发送S-RET到Emacs?
- 为什么emacs将PageDown(<next>)键与M- [?