2010-05-25 125 views

回答

9

Vim的正則表達式不具備此功能,所以你需要使用的比特重複的創建同樣的行爲:

/\(\%(condition\)\@=then\|\%(condition\)\@!else\) 

請注意,您必須在Vim版本中使用兩次條件,並且前後/後視必須始終與then/else部分相反,否則您的正則表達式將不正確。

3

不原生地,但是如果你有+ perl的vim的,你應該能夠使用

:perldo s/search/replace/ 
2

vim docs狀態Vim的正則表達式不支持條件表達式(在部分比較vim的使用模式支持Perl的):

最後,這些結構是獨一無二的Perl:
- 在正則表達式執行任意代碼:({Perl代碼})
- 條件表達式: (?(條件)真EXPR |假表達式)