Vim 中的 R 和 gR 差异

shi*_*ada 2 vim

当我在有标签的 vim 中使用RgR时,我没有注意到区别。根据实用 Vim,

虚拟替换模式由 gR 触发,并将制表符视为由空格组成。假设我们将光标定位在跨越八列屏幕空间的制表位上。如果我们切换到虚拟替换模式,我们最多可以键入七个字符,每个字符都将插入到制表符之前。

但我也可以在 R 中输入完全相同的内容。

R和 和有gR什么区别?

jll*_*gre 6

RgR按照文档进行工作。

假设您有一个包含以下内容的文件

tabatabb

并使用默认制表位(8 个字符)。

如果您编辑此文件,将光标放在第一列上并输入Rxyesc,您将得到以下内容:

xytabb

x更换了第一tab,而y取代了a

另一方面,如果你输入gRxyesc,你最终会得到那个:

xytabatabb

原因是您插入了 2 个字符,所以留在前八列选项卡中。