如何在VIM中匹配和替换模式 - 如何在两个字符VIM中匹配和替换文本

时间:2016-12-29 16:26:59

标签: search vim match substitution

我有以下文字:

,"

我希望在",id之间匹配并替换逗号以换取另一个角色(或者更好,删除它们)。

2 个答案:

答案 0 :(得分:1)

我认为一种很好的方法是在可视模式下使用替代。

v上启动视觉效果(使用,"),使用/",搜索结束字符,以选择模式中的所有字符,然后按{{1} 1}}为了编写命令,以下内容将显示::,这意味着该命令将应用于所选区域。最后,:'<,'>会做。

答案 1 :(得分:1)

插件解决方案

我的PatternsOnText plugin提供(以及其他):SubstituteInSearch命令。对于您的示例,我通过,"\zs.\{-}\ze",选择文本(非贪婪),然后在其上运行替换:

:SubstituteInSearch/,"\zs.\{-}\ze",/,/X/g

内置替代

如果出现的次数很少,你可以选择区域,然后(并且这个关键部分在@ user2848844的相关答案中缺失!)通过特殊\%V原子限制匹配:

'<,'>s/\%V,/X/g