vim: grep / vimgrep в окне быстрого исправления и ошибка: E499 - PullRequest
1 голос
/ 06 мая 2020

Я хочу искать и перечислять шаблоны в файле, поэтому я могу использовать vimgrep pattern %. Теперь это создаст окно быстрого исправления, если мы введем :cw или :cwindow, оно откроет результаты поиска.

Теперь я хочу использовать grep или vimgrep в этом окне quickfix для дальнейшей фильтрации.

например: filename: tmp

IRQ test A - pass    
REG_WR test A - pass
REG_RD A:0 pass    
REG_RD A:1 fail    
REG_RD A:2 pass    
REG_RD test A - fail    
IRQ test B - pass    
REG_WR test B - pass  

REG_RD B:0 pass    
REG_RD B:1 pass    
REG_RD B:2 pass    
REG_RD test B - pass

Теперь сначала я использую vimgrep test% чтобы получить следующее в окне быстрого исправления.

tmp|1 col 9| IRQ test A - pass    
tmp|2 col 12| REG_WR test A - pass
tmp|6 col 12| REG_RD test A - fail    
tmp|7 col 9| IRQ test B - pass    
tmp|8 col 12| REG_WR test B - pass  
tmp|13 col 12| REG_RD test B - pass

Теперь я хочу немедленно найти все пройденные тесты.

Если указать :vimgrep pass % в окне быстрого исправления, в нем указано, что

e499: пустое имя файла для '%' или '#', работает только с ": p: h"

Теперь я сохраняю эти результаты во временный файл, а затем нажимаю над этим, есть ли простое решение?

Мой Gvim: IM - Vi IMproved 7.2 (9 августа 2008 г., скомпилировано 6 июня 2019 г. 12:19:18)

1 Ответ

0 голосов
/ 06 мая 2020

Я обнаружил, что команда Cfilter очень полезна:

" load this plugin that ships with vim in a package
packadd cfilter
vimgrep ...
Cfilter pass
...