vim正则表达式找到并替换

时间:2011-06-30 09:44:42

标签: regex vim

我想使用正则表达式替换文件中的一些字符串。我搜索: %s/^ [a-z]*/ / 我想要做的是用含有4个空格的sane [a-z]替换每个具有2个空格的[a-z] *。是否有任何“inplace”替换或者我将如何使用vim达到目的?

最诚挚的问候

2 个答案:

答案 0 :(得分:3)

:%s/  \([a-z]*\)/    \1/g

应该做的工作;请注意多次运行,但因为替换的结果将匹配输入模式:)

答案 1 :(得分:3)

我发现使用\ze对象定义匹配结束更直接:

:%s/  \ze[a-z]*/    /g

因此[a-z]*不包含在替换中,但仅用于匹配相关空格。