我们假设我有文字.
1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
然后我visual block从5到9中选择一个.
|-------| Select visual block
1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
运行replace命令:'<,'>s/ /, /g.
我期待以下.
1 2 3 4 5, 6, 7, 8, 9
Run Code Online (Sandbox Code Playgroud)
然而,真正的结果是
1, 2, 3, 4, 5, 6, 7, 8, 9
Run Code Online (Sandbox Code Playgroud)
替换命令似乎适用于visual block不仅选择块的整行.
是否有任何方法可以将替换命令应用于仅选定的visual block?
在我看来,这种行为是vim中的一个错误.你可以像这样解决它:
:'<,'>s/\%V \%V/, /g
Run Code Online (Sandbox Code Playgroud)
\%V 仅在当前视觉区域内匹配.