`c- [`不会在邪恶的本地模式下从插入模式中逃脱



我刚刚开始在emacs中使用vim。尽管大多数文档/Wikis建议在全球范围内开启邪恶模式,但我是第一个开始时成为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-并在Echo区域等待更多输入),但是Esc键可以正常工作。但是,如果我在全球范围内打开邪恶模式,C-[的工作量与Esc密钥相同。

您可能会注意到我正在使用键键入的Mac。虽然我目前可以使用Esc密钥,但是如果将来使用那些邪恶的触摸栏升级到新的MBP,该怎么办?那么有什么方法可以解决此问题?任何建议都将不胜感激。

看起来像是邪恶的错误。让我知道这是否有效:

(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))

最新更新