我知道我可以在水平选择中搜索和替换:
:'<,'>s/search/replace/g
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何在垂直选择中做到这一点.我尝试了上面相同的方法只有一个垂直选择,但显然,vim会搜索并替换整行,而不仅仅是选择.
搜索互联网无济于事.谢谢.
您可以\%V在正则表达式中使用,它将匹配可视区域内的位置:
\%V Match inside the Visual area. This is a `/zero-width` match.
Run Code Online (Sandbox Code Playgroud)
如果您直观地选择一个块:
search search search search
searc+---------------+earch
searc| search search |earch
searc| search search |earch
searc+---------------+earch
search search search search
Run Code Online (Sandbox Code Playgroud)
运行此命令后:
:'<,'>s/\%Vsearch\%V/replace/g
Run Code Online (Sandbox Code Playgroud)
它将成为:
search search search search
searc+---------------+earch
searc| replace replace |earch
searc| replace replace |earch
searc+---------------+earch
search search search search
Run Code Online (Sandbox Code Playgroud)