paredit绑定M-<up>
和M-<down>
,但我希望windmove拥有这些键绑定。我将paredit-mode设置为仅在某些模式下激活,但windmove设置为全局运行。我想要windmove获胜,但是paredit在加载时窃取了那些键绑定。
如何轻松阻止paredit踩踏windmove的键绑定?我已经进入paredit.el
并评论了设置键绑定的行,但这远非理想(我必须记住每次更新paredit时都这样做。)
更一般地说,我可以加载elisp文件,同时“保护”某些键绑定不被更改吗?
答案 0 :(得分:13)
您可以使用eval-after-load
在加载后配置paredit的行为,如其评论中所述:
;;; Customize paredit using `eval-after-load':
;;;
;;; (eval-after-load 'paredit
;;; '(progn ...redefine keys, &c....))
所以,例如:
(eval-after-load 'paredit
'(progn
(define-key paredit-mode-map (kbd "<M-up>") nil)
(define-key paredit-mode-map (kbd "<M-down>") nil)))
答案 1 :(得分:1)
之前已回答过这个问题:Globally override key binding in Emacs
您可以使用首选键绑定创建自己的次要模式,并全局启用它,以便覆盖所有其他键绑定。