当我在有标签的 vim 中使用R和gR时,我没有注意到区别。根据实用 Vim,
虚拟替换模式由 gR 触发,并将制表符视为由空格组成。假设我们将光标定位在跨越八列屏幕空间的制表位上。如果我们切换到虚拟替换模式,我们最多可以键入七个字符,每个字符都将插入到制表符之前。
但我也可以在 R 中输入完全相同的内容。
R和 和有gR什么区别?
R并gR按照文档进行工作。
假设您有一个包含以下内容的文件
tabatabb
并使用默认制表位(8 个字符)。
如果您编辑此文件,将光标放在第一列上并输入Rxyesc,您将得到以下内容:
xytabb
在x更换了第一tab,而y取代了a。
另一方面,如果你输入gRxyesc,你最终会得到那个:
xytabatabb
原因是您插入了 2 个字符,所以留在前八列选项卡中。