1

在 emacs 的 shell 模式下,当前退出 shell 模式的键绑定 ( 'comint-interrupt-subjob) 是"\C-c \C-c",我想将其更改"\C-c"为与普通 linux shell 一样 我试过了

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

但它没有用。可能我需要禁用分配给"\C-c". 我怎样才能做到这一点?

4

2 回答 2

2

尝试这个:

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

通常,当您定义键时,您应该在特定的键映射中定义它们,而不是仅仅希望local-set-key它做您想要的。

注意:我更喜欢使用kbd描述键,你"\C-c"会工作得很好。

于 2011-06-24T23:13:44.177 回答
2
(define-key (current-local-map) "^C" 'comint-interrupt-subjob)

这将在不检查 local-set-key 错误的情况下完成工作

于 2011-06-24T23:19:24.537 回答