Vim regex не имеет этой функции, поэтому вам нужно будет использовать немного повторений, чтобы создать такое же поведение:
/\(\%(condition\)\@=then\|\%(condition\)\@!else\)
Обратите внимание, что вы должны использовать условие дважды в версии Vim, и lookahead / lookbehind всегда должно быть противоположным в частях then / else, иначе ваше регулярное выражение будет неверным.