我想使用正则表达式替换文件中的一些字符串。我搜索:
此致敬礼
%s/^ [a-z]*/ /
我的目的是将每个具有2个空格的[a-z]*替换为具有4个空格前缀的相同[a-z]。是否有“原地”替换或者如何在vim中实现这一点?此致敬礼
:%s/ \([a-z]*\)/ \1/g
应该可以完成任务;但要小心多次运行,因为替换的结果会匹配输入模式 :)
我觉得使用\ze
对象来定义匹配的结尾更为直观:
:%s/ \ze[a-z]*/ /g
[a-z]*
并不包括在替换中,而只是用于匹配相关空格。
[][][][]abcd
替换[][]abcd
,其中[]代表空格吗? - amazingjxq