让C-c直接传递给emacs中的term

时间:2012-05-09 21:56:35

标签: emacs

我正在尝试让C-c直接传递到Emacs中的术语(而不是必须键入C-c C-c)。我有一个定义的函数:

(defun newterm()   (互动)   (术语“/ bin / bash”)   (重命名-唯一地)   (term-set-escape-char?\ C-x)   (local-unset-key?\ C-c))

这成功地将转义字符设置为C-x(我想要的),但我无法使Emacs不捕获C-c。

也许不能“禁用”但是可以将C-c设置为只将C-c放入终端吗?

默认值对我没有任何意义 - 我在终端中一直输入Cc,而我在终端时运行的唯一Emacs命令是Cx b来到另一个缓冲区。

2 个答案:

答案 0 :(得分:5)

你需要重新修改keymap,因为它使用“C-c”来处理很多事情。 但(define-key term-raw-map [?\C-c] 'term-send-raw)应该回答您的具体问题。

答案 1 :(得分:1)

您可以自定义变量term-unbind-key-list

term-unbind-key-list is a variable defined in `multi-term.el'.
Its value is ("C-x" "C-h" "M-x" "C-z")
Original value was 
("C-z" "C-x" "C-c" "C-h" "C-y" "<ESC>")

Documentation:
The key list that will need to be unbind.                                 

.emacs

中有这样的内容
(setq term-unbind-key-list '("C-x"
                             "C-h"
                             "M-x"
                             "C-z"))