在 Emacs 里,保证自己的按键设置一直生效的办法是自定义一个 minor mode。因为在 global-set-key 里改的话会被其他 major/minor mode 覆盖,去把那些 major/minor 都改了的话则又麻烦又混乱,所以自己定义一个 minor mode 是最好的办法。
自定义 minor mode 还有一个好处是可以方便地关闭自己的定义,回复默认设置。
办法来自 http://stackoverflow.com/a/683575/802678:
(defvar my-keys-minor-mode-map (make-keymap) “my-keys-minor-mode keymap.”)
(define-key my-keys-minor-mode-map (kbd “C-i“) ‘some-function)
(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 文件里,重启 Emacs 即可。
本文作者:Betty | 本文地址: https://myfairland.net/emacs-override-key-binding/
本站文章除特殊标明者外均为原创,版权所有,如需转载,请以超链接形式注明作者和原始出处及本声明
评论