在emacs中解除多个术语的emacs密钥23

时间:2011-10-24 13:47:57

标签: emacs elisp

我正在尝试为emacs 23设置多项,但是

(setq term-unbind-key-list '("C-z" "C-x" "C-c" "C-h" "C-y"))

排除了我所看到的所有推荐用于摆脱键绑定冲突的网站不起作用 - 例如,我仍然不能将C-z从man页面中删除。 在emacs 23中有什么变化吗?我如何正确解开它们?

1 个答案:

答案 0 :(得分:4)

变量term-unbind-key-list仅影响键映射term-raw-map中的绑定。你可以通过查看函数multi-term-keystroke-setup的文档找到这个(不知道为什么这个信息不适用于变量本身......)

  

按键设置`term-char-mode'。

     

默认情况下,term-char-mode' conflict with user's keystroke. So this function unbinds some keys with term-raw-map'的键绑定和   用“term-raw-map”绑定一些击键。

所以......很可能 C-z 仍然绑定到suspend-frame b / c,这就是Emacs默认做的事情。

如果您想将 C-z 绑定到终端(suspend-job)中的正常位置,您可以这样做:

(require 'multi-term)
(add-to-list 'term-bind-key-alist '("C-z" . term-stop-subjob))

这使得绑定做了你想要的(我猜)。