我正在尝试让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来到另一个缓冲区。
答案 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"))