2017-10-21 152 views
3

我在emacs中使用paredit(一種lisp次要模式)。 Paredit將C-<left><C-right>綁定到我不喜歡的barf和slurp sexp。覆蓋emacs中的次要模式鍵綁定

我想設定的按鍵設置回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同樣的事情時,它不起作用。

(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))) 

我加入上面的代碼在我​​的結束,但它似乎並沒有任何區別。

任何想法,我什麼是我做錯了將不勝感激。

回答

3

嘗試(eval-after-load "paredit"...)而不是(eval-after-load "paredit-mode"...)

eval-after-loadFILE的第一個參數是文件名或特徵名稱。 paredit-mode是命令(和模式)的名稱,而不是文件或功能名稱。該文件是paredit.el

+0

這樣做,謝謝。我想下次我會更仔細地閱讀文檔。 – raduw