如何处理冲突的键绑定

Bri*_*per 10 emacs elisp keyboard-shortcuts

paredit结合M-<up>M-<down>,但我想windmove自己的键绑定.我将paredit-mode设置为仅在某些模式下激活,但windmove设置为全局运行.我想要windmove获胜,但是当它加载时,paredit窃取了那些键绑定.

如何轻松阻止paredit踩踏windmove的键绑定?我已经进入paredit.el并评论了设置键绑定的行,但这远非理想(我必须记住每次更新paredit时都这样做).

更一般地说,我可以加载elisp文件,同时"保护"某些键绑定不被更改吗?

Eme*_*gul 13

您可以eval-after-load在加载后配置paredit的行为,如其注释中所述:

;;; Customize paredit using `eval-after-load':
;;;
;;;   (eval-after-load 'paredit
;;;     '(progn ...redefine keys, &c....))
Run Code Online (Sandbox Code Playgroud)

所以,例如:

(eval-after-load 'paredit
  '(progn
     (define-key paredit-mode-map (kbd "<M-up>") nil)
     (define-key paredit-mode-map (kbd "<M-down>") nil)))
Run Code Online (Sandbox Code Playgroud)