Hook覆盖用户定义的emacs密钥绑定



可能重复:
Emacs 中的全局覆盖密钥绑定

在我的.emacs文件中,我为control-meta-h 添加了一个密钥绑定

(global-set-key (kbd "C-M-h") 'windmove-left)

只要我不进入c模式或c++模式,它就可以正常工作。两者都会通过默认行为c-mark-function覆盖它。如何避免我的绑定被c-mode/c++模式挂钩覆盖?

可以通过在单独的次要模式中定义keybinds来解决。有关详细信息,请参阅Emacs中的全局覆盖密钥绑定,其中scottrazer提供了以下解决方案:

(defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.")
(define-key my-keys-minor-mode-map (kbd "C-M-h") 'windmove-left)
(define-minor-mode my-keys-minor-mode
  "A minor mode so that my key settings override annoying major modes."
   t " my-keys" 'my-keys-minor-mode-map)
(my-keys-minor-mode 1)

最新更新