在vim中,如果您处于块插入模式(Ctrl-V, Shift-I
)并使用Ctrl-C
(而不是)退出Esc
,它将取消块编辑(仅编辑第一行)。
为什么是这样?在几乎所有其他情况下,Ctrl-C
并且Esc
是同义的。(理想情况下,有一种方法可以解决此问题-我现在已经习惯了Ctrl-C
,如果我必须重新学习,那真是太可惜了……)
Ctrl-c并且Esc不能保证是同义词,并且经常会有所不同。例如,在“插入”模式下,Esc将触发缩写并进入“普通”模式,而Ctrl-c不会触发缩写,也不会触发InsertLeave
自动命令并直接进入“普通”模式。另一个示例是在旧的vi
命令行模式下,Esc实际上将执行命令,就好像您已经点击了一样Enter。Vim的故意改变了这一点,因为这种行为被认为是不直观和令人惊讶的,但你仍然可以通过添加启用它x
来'cpoptions'
。
对于逐块可视运算符,blockwise-operators
help标记具有以下文档:
Visual-block Insert *v_b_I*
With a blockwise selection, I{string}<ESC> will insert {string} at the start
of block on every line of the block, provided that the line extends into the
block. Thus lines that are short will remain unmodified. TABs are split to
retain visual columns.
请注意,仅Esc
提及了,没有提及Ctrl-c
。
因此,不,Ctrl-c并且Esc不是等效的。放弃自己的误解永远都不是可耻的。一旦意识到这一点,就可以决定下一步要做什么。显而易见的选择是学习差异并使用正确的键,或者确定您不需要其中一个键的功能,然后重新映射以匹配另一个键。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句