不使用Evil-mode时绑定Emacs中的键

时间:2014-05-11 10:24:54

标签: emacs

我想在Evil插入模式下保留所有Emacs原始键绑定,但是我想重新绑定其中一些用于因某些原因(在特定缓冲区中)未启用evil-mode的情况。例如,我想将M-q映射到save-buffers-kill-terminal只能在除Evil-insert-mode之外的所有模式下工作,其中应该执行原始Emacs键绑定所做的事情(fill-paragraph)。我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

要使M-q默认执行save-buffers-kill-terminal,您需要更改M-q的全局键绑定:

(global-set-key (kbd "M-q") 'save-buffers-kill-terminal)

但是,请记住,特定于模式的绑定会覆盖全局键绑定。事实上,我们将利用这一点:

要在插入时在Evil模式下为M-q创建一个特殊例外,请将fill-paragraph的特定键绑定添加到evil-insert-state的键绑定“map”中:

(define-key evil-insert-state-map (kbd "M-q") 'fill-paragraph)

这个将覆盖全局绑定,并且只能在Evil-mode的插入状态下工作。

将这两行添加到.emacs配置文件中应该可以解决这个问题。