Vim中虚拟替换模式的意义是什么?


9

帮助说,虚拟替换Vim的模式命令grGR更换屏幕房地产字符,而不是在文件中。

:help Virtual-Replace-mode

我将其理解为类似于更改显示器上的字符,而不是更改缓冲区本身中的字符。那正确吗?好像不对

我可以使用一个解释,也可以使用与此功能相关的场景或示例。

Answers:


9

在虚拟替换模式下,缓冲区更难固定到其原始位置。

1. Hello World
         ^ Cursor
2. I like cheese
3. And beer

进入正常替换模式并点击Internet<CR>And others新缓冲区时,将如下所示:

1. Hello Internet
2. And others
3. I like cheese
4. And beer

在Virtual-Replace中执行相同操作时,结果将是

1. Hello Internet
2. And othersese
3. And beer

另一个示例(tabstop = 2; sts = 0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

按下的键: <Tab><Tab>

替换模式结果:

1. 012345678901234567890
2. Hello     autiful World

虚拟替换模式结果:

1. 012345678901234567890
2. Hello     tiful World

因为在“替换”模式下,替换是按字符进行的Tab,所以无论显示多少个字符,都是一个字符。在虚拟-替换模式的可见长度Tab:h 'ts':h 'sts')被用来代替字符。


(对我来说,是否有任何字符被注释格式所吞噬,某些带引号的字符串似乎缺少文本)。无论如何,最后一段很有帮助。我很确定我现在知道了:)谢谢@krissi!
Sri Kadimisetty
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.