如何阻止elpy覆盖我的一些键绑定?

Pat*_*ins 3 emacs

我刚刚更新了emacs包elpy,它设置了以下键绑定:

<M-down>        elpy-nav-move-iblock-down
<M-left>        elpy-nav-move-iblock-left
<M-right>       elpy-nav-move-iblock-right
<M-up>          elpy-nav-move-iblock-up
Run Code Online (Sandbox Code Playgroud)

我通常有这些键windmove-<direction>,我认为这是一个真正的痛苦.在这个github问题之后,我尝试了:

(load "python")
(define-key elpy-mode-map [remap windmove-left] nil)
(define-key elpy-mode-map [remap windmove-right] nil)
(define-key elpy-mode-map [remap windmove-down] nil)
(define-key elpy-mode-map [remap windmove-up] nil)
Run Code Online (Sandbox Code Playgroud)

在我.emacs,但没有运气.如何阻止elpy-mode覆盖这些键?

Dan*_*Dan 6

您可以nil通过以下方式一次性重置有问题的映射. UPDATE. 根据lunaryorn的评论,文件参数应该是"elpy"而不是"python",现在反映在答案中.

(eval-after-load "elpy"
  '(cl-dolist (key '("M-<up>" "M-<down>" "M-<left>" "M-<right>"))
     (define-key elpy-mode-map (kbd key) nil)))
Run Code Online (Sandbox Code Playgroud)

如果你不热衷于dolist,你可以把四个电话打包到define-key一个progn内eval-after-load.