5

我试图让 Cc 直接传递给 Emacs 中的术语(而不是必须键入 Cc Cc)。我定义了一个函数:

(defun newterm() (interactive) (term "/bin/bash") (rename-unique) (term-set-escape-char ?\Cx) (local-unset-key ?\Cc))

这成功地将转义字符设置为 Cx(我想要的),但我无法让 Emacs 不捕获 Cc。

也许不可能“禁用”但可以将 Cc 设置为仅将 Cc 放入终端吗?

默认值对我来说没有任何意义——我一直在终端中输入 Cc,而我在终端中运行的唯一 Emacs 命令是 Cx b 以获取不同的缓冲区。

4

2 回答 2

5

您需要重新设计键盘映射,因为它在很多事情上都使用“抄送”。但(define-key term-raw-map [?\C-c] 'term-send-raw)应该回答你的特定问题。

于 2012-05-10T02:21:39.940 回答
2

您可以自定义变量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"))
于 2012-05-12T21:26:19.490 回答