禁用前缀键绑定(Disabling prefix key binding)

2019-10-16 13:35发布

在Emacs的shell模式,当前键退出Shell模式(结合'comint-interrupt-subjob )是"\Cc \Cc" ,我想将它更改为"\Cc"作为普通Linux外壳。 我试过了

(add-hook 'shell-mode-hook '(lambda ()
  (local-set-key "\C-c" 'comint-interrupt-subjob)
))

但它没有工作。 也许我需要禁用分配给前缀"\Cc" 。 我怎样才能做到这一点?

Answer 1:

尝试这个:

(eval-after-load "shell"
  '(define-key shell-mode-map (kbd "C-c") 'comint-interrupt-subjob))

在一般情况下,当您定义键,你应该特别是键盘映射定义它们,而不是仅仅希望在local-set-key你想要做什么。

注:我喜欢用kbd描述键,您的"\Cc"会工作得很好。



Answer 2:

(define-key (current-local-map) "^C" 'comint-interrupt-subjob)

这将做的工作没有本地设置键的错误检查



文章来源: Disabling prefix key binding