输入
\sn{1}\gn{2}\gn{3}\sn{4}\sn{5}\gn{6}\gn{7}\sn{8}\yr{2012}
必需的输出
\sn{1}\sn{4}\yr{2012}
我使用了这段代码。但失败了。
%s/\\sn{\([^}]*\)}.*\\sn{\([^}]*\)}.*\\yr/\sn{\1}\sn{\2}\yr{\3}/gec
答案 0 :(得分:2)
vimregex中的非贪婪是.\{-}
请查看:h \{-
了解详情。
因此,您的:s
cmd可写入:
%s/\(\\sn{[^}]*}\).\{-}\(\\sn{[^}]*}\).\{-}\(\\yr{[^}]*}\).*/\1\2\3/g