emacs - Hook 覆盖用户定义的 emacs 键绑定(bind)

标签 emacs hook

Possible Duplicate:
Globally override key binding in Emacs

在我的.emacs文件中,我添加了 control-meta-h 的键绑定(bind)

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

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

最佳答案

可以通过在单独的次要模式中定义按键绑定(bind)来解决。详情见Globally override key binding in Emacs ,其中 scottfrazer 提供了以下解决方案:

(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)

关于emacs - Hook 覆盖用户定义的 emacs 键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059192/

相关文章:

javascript - JQuery/Javascript Hook

用于 merge 冲突的 Git 钩子(Hook)

r - Emacs 在工具提示中自动完成 ESS,而不是在缓冲区中

macos - 有人在雪豹上使用 mach_inject 吗?

c++ - Hook : why do we need to VirtualProtect() again to restore permissions?

hook - AspectJ 和 ASM 有什么区别?

emacs - 使用 ox-publish 导出,无法将变量分配给关键字

emacs - 如何将 GUD 断点键绑定(bind)更改为旧的键绑定(bind)

emacs - 我如何在 Emacs 中自动完成 IP 地址?

regex - emacs:是否可以使用emacs regex将具有平衡括号的字符串匹配?