帮助中说 Vim 中的虚拟替换模式命令gr
&GR
替换屏幕空间中的字符,而不是文件中的字符。
:help Virtual-Replace-mode
我将其理解为类似于更改显示器上的字符而不是缓冲区本身的字符。是对的吗?这似乎是不正确的。
我可以使用一个解释,也可以使用一个与此功能相关的场景或示例。
答案1
在虚拟替换模式下,缓冲区更难固定到其原始位置。
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'
) 的可见长度用于替换字符。