如何在emacs中取消绑定ctrl c

我是emacs的新用户,并且因为ansi-term / multi-term而使用emacs

现在我必须输入两次ctrl C才能将它发送到term.

我想取消绑定emacs中的CTRL C快捷方式,以便我可以将其直接发送到该术语.

可能吗? 最佳答案 覆盖术语模式缓冲区中所有其他键盘映射的解决方案:

(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%终端模拟器,并且有一些小的妥协.

点赞