问题描述
|
在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\"
的前缀。我怎样才能做到这一点?
解决方法
尝试这个:
(eval-after-load \"shell\"
\'(define-key shell-mode-map (kbd \"C-c\") \'comint-interrupt-subjob))
通常,当您定义键时,应该在特定的键映射中定义它们,而不是仅仅希望local-set-key
能满足您的要求。
注意:我更喜欢使用kbd
来描述按键,您的\"\\C-c\"
可以正常工作。
, (define-key (current-local-map) \"^C\" \'comint-interrupt-subjob)
这将完成工作,而不会对本地设置键进行错误检查