次要模式覆盖另一个次模式键绑定

时间:2015-02-02 19:58:45

标签: emacs

我在Emacs中安装了Jedi模式。我注意到它覆盖了C-c .C-c ,goto-definitiongoto-definition-pop-marker respectively)。

以下是我在init文件中设置的方法:

(setq jedi:setup-keys t)
(add-hook 'python-mode-hook 'jedi:setup)

我正在使用另一种名为multiple-cursors的模式,其设置如下:

(add-to-list 'load-path "~/.emacs.d/multiple-cursors.el/")
(global-set-key (kbd "C-c .") 'mc/mark-next-like-this)
(global-set-key (kbd "C-c ,") 'mc/mark-previous-like-this)

加载jedi-setup后,它会重新绑定C-c .C-c ,。我想做的是保持我的多个游标绑定并重新映射Jedi的绑定。我尝试将其添加到我的Jedi设置的末尾,但它最终将Jedi函数同时映射到C-c./和C-c j / k。

(setq jedi:key-goto-definition (kbd "C-c k"))
(setq jedi:key-goto-definition-pop-marker (kbd "C-c j"))

发生这种情况的原因是因为Jedi将它们绑定在常规的C-c ./,映射上,然后只是添加了另一个C-c j / k映射。

如何阻止Jedi完全不绑定到C-c ./,只绑定到C-c j / k?

1 个答案:

答案 0 :(得分:2)

在Jedi模式键盘映射中取消绑定所需的键:只需将它们绑定到该地图中的nil即可。

或更改minor-mode-map-alist中条目的顺序。

见(elisp)Controlling Active Maps