在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"
。 我怎样才能做到这一点?
在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"
。 我怎样才能做到这一点?
尝试这个:
(eval-after-load "shell"
'(define-key shell-mode-map (kbd "C-c") 'comint-interrupt-subjob))
在一般情况下,当您定义键,你应该特别是键盘映射定义它们,而不是仅仅希望在local-set-key
你想要做什么。
注:我喜欢用kbd
描述键,您的"\Cc"
会工作得很好。
(define-key (current-local-map) "^C" 'comint-interrupt-subjob)
这将做的工作没有本地设置键的错误检查