2010-05-25 102 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 |假表达式)