11

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

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

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

4

2 回答 2

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)))
于 2008-11-18T13:14:44.007 回答
1

这个问题之前已经回答过:Globally override key binding in Emacs

您可以使用首选键绑定创建自己的次要模式并全局启用它,以便它覆盖所有其他键绑定。

于 2009-09-13T18:18:24.610 回答