如何在vim中进行垂直选择的搜索和替换?

时间:2014-08-13 01:11:52

标签: vim

我知道我可以用水平选择进行搜索和替换:

:'<,'>s/search/replace/g

但是,我无法弄清楚如何在垂直选择中做到这一点。我尝试了同样的方法只有一个垂直选择,但显然,vim会搜索并替换整行,而不仅仅是选择。

搜索互联网无济于事。感谢。

1 个答案:

答案 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