2016-12-07 7 views

ответ

2

Вы должны поставить «чередования» внутри «группировки» из \ (... \). Это должно работать:

/\(string1\|string2\) 
+0

Я ищу '=== >>' и '<< ===' ... Пробовал '\ (=== >> \ | << === \)', не работал. – Nits

+0

Какая версия vi вы? Работает на VIM 7.3, в том числе в совместимом режиме. Просто, чтобы проверить, вы пытаетесь '/ \ (=== >> \ | << === \)'? –

+0

': ve' дает мне версию SVR4.0, Solaris 2.5.0'. Однако ОС Solaris 5.10. – Nits

1

Для поиска foo или bar вы можете сделать это:

/[fb][oa][or] 

, но это не очень масштабируемым :)

Solaris 10 родной vi(1) не поддерживает регулярные выражения чередованием , См. BRE (основные регулярные выражения) в regex(5) (man -s5 regex).

Solaris 11 поставляется с vim.

+0

Он работает, без сомнения, но в чем смысл иметь функцию, когда никто не собирается ее использовать. Спасибо Мартину. – Nits