`C-[` 在邪恶的本地模式下不会从插入模式中逃脱
`C-[` does not escape from insert mode in evil local mode
我刚开始在我的 emacs 中使用 vim。虽然大多数 docs/wikis 建议在全局打开邪恶模式,但作为一开始的 emacs 用户,我真的更喜欢在本地保持邪恶模式。这意味着,当我需要模型编辑时,我将在该本地缓冲区中打开邪恶模式。为此,我写了一段 elisp 来切换 on/off 邪恶模式:
(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 怎么办?那么有什么办法可以解决这个问题吗?任何建议将不胜感激。
看起来像是 Evil 中的错误。让我知道这是否有效:
(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))
我刚开始在我的 emacs 中使用 vim。虽然大多数 docs/wikis 建议在全局打开邪恶模式,但作为一开始的 emacs 用户,我真的更喜欢在本地保持邪恶模式。这意味着,当我需要模型编辑时,我将在该本地缓冲区中打开邪恶模式。为此,我写了一段 elisp 来切换 on/off 邪恶模式:
(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 怎么办?那么有什么办法可以解决这个问题吗?任何建议将不胜感激。
看起来像是 Evil 中的错误。让我知道这是否有效:
(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))