2

在我的 ~/.vimrc 中,在过去的 15 年中,我使用了以下两个键绑定来让自己更容易进入命令模式:

nmap ; :
vmap ; :

有没有简单的方法可以在 emacs 邪恶模式下做到这一点?

我一直在阅读http://www.emacswiki.org/emacs/Evil上的 wiki,但到目前为止还没有遇到正确的方法......

4

1 回答 1

3

将键绑定到命令

当您点击时执行的命令:evil-ex,您可以通过运行找到:

:describe-key<CR>
:

(即运行 Emacs 的describe-key命令,然后点击您想要的信息)。

所以你可以绑定;到也运行evil-ex

(define-key evil-normal-state-map (kbd ";") 'evil-ex)
(define-key evil-visual-state-map (kbd ";") 'evil-ex)
(define-key evil-motion-state-map (kbd ";") 'evil-ex)

将一个键序列绑定到另一个

在 Emacs 中,一般情况下,您可以定义键盘宏,这与 Vim 处理映射的方式基本相同:

(global-set-key (kbd ";") (kbd ":"))

在 evil-mode 中,您需要将它们添加到状态的相关键映射中:

(define-key evil-normal-state-map (kbd ";") (kbd ":"))
(define-key evil-visual-state-map (kbd ";") (kbd ":"))
(define-key evil-motion-state-map (kbd ";") (kbd ":"))

但是,由于某种原因,在这种情况下会发生奇怪的事情。这是我见过的第一个以这种方式失败的绑定。只需使用第一个版本。

于 2013-06-19T11:35:52.293 回答