【问题标题】:Exit insert mode by Ctrl+CCtrl+C退出插入模式
【发布时间】:2013-11-20 23:52:06
【问题描述】:

假设我的文件只包含以下字符串:

This strings
need to be commented

在正常模式下,我执行以下命令链:

ggCtrl+vjI kbd>//

现在,如果我按下 Ctrl+c 我会得到这个

//This strings
need to be commented

但是如果我按下 Esc 我会得到这个

//This strings
//need to be commented

为什么结果不同?

【问题讨论】:

标签: vim


【解决方案1】:

根据i_Ctrl-c 的帮助,当通过 Ctrl+C 退出正常模式时,vim 不会触发我认为完成插入的InsertLeave 事件。

解决方法是将 Ctrl+C 重新映射到 Esc

noremap <C-c> <Esc>

【讨论】:

  • 也许最好只在插入模式下进行映射。 inoremap...
  • 需要注意的是&lt;esc&gt;&lt;c-c&gt;不是等价的。但是&lt;c-[&gt; 等价于&lt;esc&gt;
  • @progo,对于仅插入模式,最好使用inoremap,但我认为为所有模式设置此行为没有任何问题。
  • @black_wizard:可能什么都不是,但我正在考虑取消一个长时间运行的命令。也许它会与模式中的绑定一起工作,或者不。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
  • 2012-09-10
  • 2014-07-01
  • 2020-01-15
  • 1970-01-01
相关资源
最近更新 更多