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

时间:2017-10-21 19:49:47

标签: emacs key-bindings minor-mode

我在emacs中使用paredit(一种lisp次模式)。 Paredit将C-<left><C-right>绑定到barf并啜饮我不喜欢的性别。

我正在尝试将关键字绑定设置为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-load尝试init.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的末尾添加了上述代码,但似乎没有任何区别。

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

1 个答案:

答案 0 :(得分:3)

尝试使用(eval-after-load "paredit"...)代替(eval-after-load "paredit-mode"...)

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