Ctrl+C 和 Ctrl+[ 有啥区别?

Posted

技术标签:

【中文标题】Ctrl+C 和 Ctrl+[ 有啥区别?【英文标题】:What's the difference between Ctrl+C and Ctrl+[?Ctrl+C 和 Ctrl+[ 有什么区别? 【发布时间】:2011-06-29 03:30:44 【问题描述】:

Ctrl+CCtrl+[有什么区别?这些文件包含我可以找到的以下内容:

 或 CTRL-[ 结束插入或替换模式,返回正常模式。结束
                缩写。
                注意:如果您的  键很难按到键盘上,请训练
                自己使用 CTRL-[.
CTRL-C 退出插入模式,返回正常模式。不检查
                缩写。不触发 |InsertLeave|自动命令
                事件。
CTRL-C 中断当前(搜索)命令。使用 CTRL-Break
                        MS-DOS |dos-CTRL-Break|。
                        在正常模式下,任何挂起的命令都会被中止。

似乎对这些命令的确切作用存在一些分歧。

Ctrl+C 是否也不会离开替换模式,缩写与待处理命令有何关系?

【问题讨论】:

重复:***.com/questions/80677/… 副本仍未解决,也没有解决有关缩写和未决命令的问题。 【参考方案1】:

在 vim 中考虑 CtrlC 的方式与在 a 中考虑 CtrlC 的方式相同shell - 你想尽快停止你正在做的任何事情并重新获得控制权。所以在 vim 中,如果你使用 CtrlC 来打破插入模式,vim 不会检查你是否只是写了缩写的一部分,并且它不会在您每次离开插入模式时运行您的插件设置的花哨的自动命令,它只会尽快将您转储到正常模式。如果您不使用缩写或自动命令,那么您将不会注意到这种差异。

【讨论】:

啊,这很重要,谢谢。我不知道有改变模式的钩子。

以上是关于Ctrl+C 和 Ctrl+[ 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

CTRL+F5 和F5 两种刷新有啥区别?

ctrlf+F5与F5刷新有啥区别!

ctrl+c 和 ctrl+z 的区别

ctrl+c ctrl+d ctrl+z 的区别和使用场景

网页中页面的刷新(F5)与强制刷新(Ctrl+F5)有啥区别?

Linux Ctrl+c与ctrl+z的区别