Vim 中的 R 和 gR 区别

Vim 中的 R 和 gR 区别

当我在有标签的 vim 中使用R和时gR,我没有注意到区别。根据 Practical Vim,

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

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

R和有啥区别gR

答案1

RgR按照文件规定开展工作。

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

tabatabb

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

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

xytabb

取代x了第一个tab,而y取代了a

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

xytabatabb

原因是您插入了 2 个字符,因此保留在前八列选项卡内。

相关内容