在`vi`的select中find并replace

如何在vi的select中查找和replace?

在可视模式下select文本(我假设你在做什么),然后按:开始input一个命令,你会看到类似的东西出现在命令行中:

 :'<,'> 

这意味着该命令将应用于select。 然后inputs/search/replace/然后回车。 (如果要replace所有匹配,请在第三个斜杠后面添加一个g ,如果要为每个replace项进行确认,请inputc

这里build议的大多数其他解决scheme都是在select发生的整个行上进行的,这可能不是你想要的。

要在select中进行search和replace,首先在视觉上select文本,然后使用如下命令:

 :%s/\%VSEARCH/REPLACE/g 

这将只进行search和replace在视觉上select的部分,取代SEARCH WITH REPLACE。 如果您select了多个行,那么也可以在多行上运行。

如果您使用可视化模式进行select,则:

 :'<,'>s/regex/replacement/options 

如果在可视模式下进入命令行模式(通过按':' ),VIM将自动放置范围( '<,'> )。

这里有更多的帮助search和replace视觉select

如果你想做一个全局search,并replace文件中的所有实例(使用可选的正则expression式),我将执行以下操作:

 :%s/foo/bar/g 

省略g进行本地replace。