Используя ACK в Vim, я хочу найти все экземпляры #pragma
это не заканчивается once
в файлах, связанных с C ++. Какое регулярное выражение мне нужно использовать?
#pragma\s+.*(?<!once)$
работает в Python и JavaScript, но я не уверен, как заставить ACK принять его.
:Ack --cpp #pragma\s+.*(?<!once)$
выдает следующую ошибку в Vim:
E194: нет альтернативного имени файла, заменяющего ‘#’
Спасаясь #
с \\\
ничего не возвращает. Я попробовал несколько других модификаций, но я не получаю то, что хочу.
Вам нужно сбежать #
и !
с одной обратной косой чертой.
например
:!ack-grep --cpp '\#pragma\s+.*(?<\!once)$'
Я не уверен, если :Ack
работает так же в фоновом режиме.