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