Поисковый запрос gvim для смешанных условий AND & OR

Привет, я хочу искать текст внутри gvim со следующими критериями a&b&(c|d) . Я знаю, что a&b это /.*a\&.*b а для c|d это /c\|d но объединение этих двух не работает. что может быть точной командой?

edit: Я пробовал .*a\&.*b\&.*(c\|d) , но он принимает его как .*a\&.*b\&.*(c ORed с d) , в скобках ,

edit2: разбиение выражения на a&b&c | a&b&d работает, .*a\&.*b\&.*c\|.*a\&.*b\&.*d , но это не то, что я ищу.

  • (g) vim - NerdTree и тегбар над друг другом слева до редактируемого файла?
  • Как использовать `gnome-terminal` с новой архитектурой клиент / сервер в качестве оболочки?
  • Эмуляция Vim в среде IDE vs gVim как IDE
  • Изменение поведения gVim в Red Hat
  • filename с новой строкой в ​​списке каталогов Netrw vim
  • `crontab -e: E212: не удается открыть файл для записи` при использовании gvim (работает с vi)
  • Можем ли мы исправить уже исправленный шрифт?
  • GVim, скомпилированный из источника, не использует gtk2
  • One Solution collect form web for “Поисковый запрос gvim для смешанных условий AND & OR”

    Как вы обнаружили, шаблоны поиска vim интерпретируются с \& binding более жестким, чем \| (т. е. \& имеет более высокий приоритет, чем \| ), и, похоже, нет никакого способа переопределить это. Однако в дистрибутивной собственности говорится, что

    (P∧ (Q∨R)) ⇔ ((P∧Q) ∨ (P∧R))

    где «∧» представляет собой AND (т. е. \& ) и «∨» представляет OR (т. е. \| ). Подставляя

    • P = a & b
    • Q = c
    • R = d

    мы можем получить, что

    a & b & (c | d) = (a & b & c) | (А & б & г)

    поэтому вы можете выполнить поиск «a & b & (c | d)» с помощью регулярного выражения .*a\&.*b\&.*c\|.*a\&.*b\&.*d . Конечно, это не идеально.

    Примечание. Это решение было идентифицировано ОП.

    Linux и Unix - лучшая ОС в мире.