2017-06-11 186 views
1

所以我想知道,當我使用evil-mode時,如何重映射C-r如何在惡意模式下重新綁定Emacs中的C-r(undo-tree-redo)?

當我運行C-h k C-r時,我被告知C-r綁定在undo-tree-map映射中。

所以,我試圖拆散它,像這樣:

(define-key undo-tree-map (kbd "C-r") nil) 

然而,當我做C-h k C-r,我再次告訴

C-r runs the command undo-tree-redo ... 

所以,我將如何重新綁定呢?

回答

2

Emacs似乎有一個錯誤,它不告訴你哪個映射映射到C-rundo-tree-redo

看起來這是emacs報告哪個文件/模式/映射定義綁定時的一個錯誤,當多個綁定綁定到同一個函數時。

然而,問題是與evil-mode做綁定。

要重新綁定C-r別的東西,而不是嘗試:

(define-key evil-normal-state-map (kbd "C-r") 'evil-scroll-line-up) 

瞧!

+0

這可能是'undo-tree.el'中的'remap'情況,你可以在庫中單詞搜索並查看所有重新映射的函數。被重新映射的那些函數之一可能被另一個庫設置爲「C-r」。在沒有激活'undo-tree-mode'的情況下,在'minor-mode'打開之前,你可以通過'M-x describe-key'來查看你的設置中哪個函數通常綁定到'C-r'。 – lawlist