覆盖 emacs 中的次要模式键绑定

Override minor mode keybinding in emacs

我在 emacs 中使用 paredit(一种 lisp 次要模式)。 Paredit 将 C-<left><C-right> 绑定到我不喜欢的 barf 和 slurp sexp。

我正在尝试将键绑定设置回 left-wordright-word

如果我在缓冲区(使用 paredit 模式)中评估以下代码,我会成功覆盖绑定:

 (define-key paredit-mode-map (kbd "<C-left>") 'left-word)
 (define-key paredit-mode-map (kbd "<C-right>") 'right-word))

然而,当我尝试 eval-after-loadinit.el 中做同样的事情时,它没有任何效果。

 (eval-after-load "paredit-mode"
    '(progn
       (define-key paredit-mode-map (kbd "<C-left>") 'left-word)
       (define-key paredit-mode-map (kbd "<C-right>") 'right-word)))

我在 init.el 的末尾添加了上面的代码,但似乎没有任何区别。

任何关于我做错了什么的想法都将不胜感激。

尝试 (eval-after-load "paredit"...) 而不是 (eval-after-load "paredit-mode"...)

eval-after-load的第一个参数,FILE是文件名或特征名。 paredit-mode 是命令(和模式)的名称,而不是文件或功能名称。该文件是 paredit.el.