paredit绑定(bind)M-<up>M-<down>,但我希望windmove拥有这些键绑定(bind)。我已将paredit-mode设置为仅在某些模式下激活,但是windmove设置为全局运行。我希望windmove获胜,但是paredit在加载时会窃取这些键绑定(bind)。

如何轻松阻止paredit踩踏windmove的按键绑定(bind)?我一直在研究paredit.el并注释掉设置键绑定(bind)的行,但这远非理想(我必须记得每次更新paredit时都要这样做)。

更一般而言,我可以在“保护”某些键绑定(bind)免于更改的同时加载elisp文件吗?

最佳答案

您可以在加载后使用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)))

10-07 16:33