17

到目前为止,我学到的使用 vim 的最佳技巧之一是可以按Ctrl+CCtrl+[而不是Esc键。但是我使用的是德沃夏克键盘,所以Ctrl+[对我来说也有点遥不可及,所以我主要使用Ctrl+ C。现在我在某处读到这两个组合键实际上并不具有完全相同的行为,最好使用Ctrl+ [。到目前为止我还没有遇到任何问题,所以我想知道两者之间到底有什么区别?

4

3 回答 3

15

根据 Vim 的文档,Ctrl+C不会检查缩写,也不会触发InsertLeave自动命令事件,而Ctrl+[会。

一种选择是使用以下重新映射Ctrl+C

inoremap <C-c> <Esc><Esc>
于 2008-09-17T07:20:28.597 回答
4

非常晚的答案,但我只是有同样的问题,并找到了一个有助于解释差异的实际例子,所以为什么不呢。

如果您选择了一个可视块,然后用 更改它c或在其末尾添加一些内容A,如果您随后使用 退出<Esc>,则该可视块的所有行都会发生相同的更改(这非常有用!请参阅:help v_b_A);如果您使用 退出<C-c>,则不会发生这种情况,只有一行得到更改。可能还有其他类似的事情我没有意识到我错过了<C-c>......

于 2012-07-04T18:25:02.437 回答
1

事实证明,<C-[>与 Esc 完全相同,它们是相同的字符。因此,无需怀疑那里有什么不同。:)

于 2008-09-17T07:34:29.890 回答