如何在emacs中取消绑定ctrl + c

时间:2015-12-20 15:19:29

标签: emacs

我是emacs的新用户,并且因为ansi-term / multi-term而使用emacs 现在我必须两次输入ctrl + C才能将它发送到term。 我想取消绑定emacs中的CTRL + C快捷方式,以便我可以直接将其发送到该术语。 有可能吗?

1 个答案:

答案 0 :(得分:1)

覆盖术语模式缓冲区中所有其他键盘映射的解决方案:

(defun jpk/term-mode-hook ()
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "C-c") 'term-send-raw)
    (set-transient-map map (lambda () t))))

(add-to-hook 'term-mode-hook 'jpk/term-mode-hook)

假设您对C-c没有任何其他约束(这不太可能,请参阅下文):

(define-key term-mode-map (kbd "C-c") 'term-send-raw)

使用emacs -q启动emacs(即没有任何自定义设置)时,这对我来说已经足够了。

可以更改键绑定,但在我看来,它不值得。 C-c是Emacs中的前缀键,这意味着许多键绑定都以它开头。你将与​​普遍的公约作斗争,你可能会感到沮丧。接受Emacs不是100%终端模拟器,并且有一些小的妥协。