在emacs的shell模式下,退出shell模式('comint-interrupt-subjob
)的当前键绑定是"\C-c \C-c"
,我想像普通的linux shell一样将它改为"\C-c"
。我试过了
(add-hook 'shell-mode-hook '(lambda ()
(local-set-key "\C-c" 'comint-interrupt-subjob)
))
但它没有用。可能我需要禁用分配给"\C-c"
的前缀。我怎么能这样做?
答案 0 :(得分:2)
试试这个:
(eval-after-load "shell"
'(define-key shell-mode-map (kbd "C-c") 'comint-interrupt-subjob))
通常,当您定义键时,您应该在特定的键盘图中定义它们,而不是仅仅希望local-set-key
执行您想要的操作。
注意:我更喜欢使用kbd
来描述密钥,您的"\C-c"
可以正常使用。
答案 1 :(得分:2)
(define-key (current-local-map) "^C" 'comint-interrupt-subjob)
这将在没有local-set-key
错误检查的情况下完成工作