2015-12-28 62 views
0

輸入如何在vim中使用非貪婪?

\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

的[?我怎樣才能使我的vim的非匹配貪婪(可能的複製http://stackoverflow.com/questions/1305853/how-可以-I-讓 - 我 - 比賽非貪婪式-VIM) –

回答

2

非貪婪在vimregex是.\{-}舉個細節看:h \{-

所以你:s CMD可寫成:

%s/\(\\sn{[^}]*}\).\{-}\(\\sn{[^}]*}\).\{-}\(\\yr{[^}]*}\).*/\1\2\3/g