我刚开始在我的emacs中使用vim。虽然大多数文档/维基建议在全球范围内打开邪恶模式,但我在第一个开始时作为emacs用户,真的更喜欢将邪恶模式保持在本地。这意味着,当我需要模型编辑时,我将打开该局部缓冲区中的邪恶模式。为此目的,我写了一段elisp来打开/关闭邪恶模式:
(defun toggle-evil-local-mode ()
"Toggle on and off evil mode in local buffer."
(interactive)
(if evil-local-mode
(turn-off-evil-mode)
(turn-on-evil-mode)))
(global-set-key (kbd "s-e") 'toggle-evil-local-mode)
然而,有一件事困扰着我。我无法使用C-[
从插入或可视模式转换到正常模式(emacs将键击读取为ESC-
并等待回显区域中的更多输入),Esc
键工作正常。但是,如果我在全球范围内打开邪恶模式,C-[
的工作方式与Esc
密钥相同。
您可能会注意到我正在使用来自键绑定的Mac。虽然我现在可以使用Esc
密钥,但是如果我将来升级到带有这些邪恶触摸条的新MBP怎么办?那么有什么方法可以解决这个问题吗?任何建议将不胜感激。
答案 0 :(得分:0)
看起来像是邪恶中的一个错误。如果有效,请告诉我:
(defun turn-on-evil-mode-fixed-escape ()
"Turn on Evil in the current buffer AND `evil-esc-mode'. This makes C-[ work
like <escape> when using `evil-local-mode'."
(interactive)
(turn-on-evil-mode)
(evil-esc-mode 1))