【问题标题】:`C-[` does not escape from insert mode in evil local mode`C-[` 在邪恶的本地模式下不会从插入模式中逃脱
【发布时间】:2016-12-30 01:45:58
【问题描述】:

我刚开始在我的 emacs 中使用 vim。虽然大多数文档/wiki 建议在全局范围内打开邪恶模式,但我一开始是 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 怎么办?那么有没有办法解决这个问题呢?任何建议将不胜感激。

【问题讨论】:

  • Vim.或者 Vim 没有。没有尝试:-)

标签: emacs evil-mode


【解决方案1】:

看起来像 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))

【讨论】:

  • @Daniel 没问题!如果它解决了您的问题,您可以单击左侧的复选标记吗?当问题显示在网站的各个位置时,这会将问题标记为“已解决”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
相关资源
最近更新 更多