帮助说明 Vim 中的虚拟替换模式命令gr
和GR
替换屏幕资产中的字符而不是文件中的字符。
:help Virtual-Replace-mode
Run Code Online (Sandbox Code Playgroud)
我将其理解为类似于更改显示器上的字符而不是缓冲区本身的字符。那正确吗?似乎不正确。
我可以使用说明,也可以使用与此功能相关的场景或示例。
kri*_*ssi 10
在虚拟替换模式下,缓冲区更难固定在其原点位置。
1. Hello World
^ Cursor
2. I like cheese
3. And beer
Run Code Online (Sandbox Code Playgroud)
进入正常替换模式并点击Internet<CR>And others
新缓冲区时将如下所示:
1. Hello Internet
2. And others
3. I like cheese
4. And beer
Run Code Online (Sandbox Code Playgroud)
在 Virtual-Replace 中执行相同操作时,结果将是
1. Hello Internet
2. And othersese
3. And beer
Run Code Online (Sandbox Code Playgroud)
另一个例子(tabstop=2;sts=0):
1. 012345678901234567890
2. Hello beautiful World
^ Cursor
Run Code Online (Sandbox Code Playgroud)
按键: <Tab><Tab>
替换模式结果:
1. 012345678901234567890
2. Hello autiful World
Run Code Online (Sandbox Code Playgroud)
虚拟替换模式结果:
1. 012345678901234567890
2. Hello tiful World
Run Code Online (Sandbox Code Playgroud)
因为在替换模式下,替换是Tab
逐个字符完成的,无论显示多少个字符,哪里是一个字符。在虚拟替换模式中,Tab
( :h 'ts'
, :h 'sts'
) 的可见长度用于替换字符。