以前只用过最简单的替换,今天用到了部分替换,记之。
:%s//(^ /)/(/w/)/ /2/g
里面有 两个模式:
/(^ /) 这个模式查找行首包含三个空格的。
/(/w/) 这个模式查找后面为单词的。
/ ( /)这个表示分组。这样将匹配结果分为两个组。
这样查找模式就变成查找行首只包含 三个空格的匹配。然后将三个空格替换为 四个空格。当然,你会想为啥不是直接:%s/ / /g这样呢,或者:%s/^ / /g这样。原因是这样匹配不到只包含三个空格的,如果有大于三个空格,它也会认为匹配,从而会有问题。