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