Я не вижу того же поведения vim, что и вы.Когда я запускаю :grep
, я все еще вижу результаты в vim (а не в быстром исправлении) до завершения поиска (но я ничего не могу сделать, пока поиск не завершен).
Я даже пытался не использовать настройки vimили плагины:
gvim -u NONE -U NONE
Если это не ваше поведение, проверьте ваш grepprg
.Моя по умолчанию:
:verbose set grepprg
grepprg=grep -n $* /dev/null
Когда я использую команду grep -e "score" -R /etc
, я вижу этот вывод в vim:
:!grep -n -e "score" -R /etc /dev/null 2>&1| tee /tmp/voLcaNS/232
Возможно, ваша система отсутствует tee
или ваш vim не использует его (я использую Vim 7.2 в Ubuntu 10.10).tee
берет переданный ему текст и записывает его в файл и в стандартный вывод.
Если вы ищете способ обновить Quickfix с результатами поиска и не иметь vim notблокируя во время поиска, вы могли бы написать скрипт, который:
- выполняет поиск с помощью grep в качестве фонового процесса и перенаправляет в файл
- каждую секунду до завершения работы grep. Имеет vimзагрузите файл в формате Quickfix (
cgetfile
) (вы можете указать vim сделать что-то из другого процесса с помощью --remote-expr
)
Вы можете попробовать мой плагин AsyncCommand , чтобы получить вашкод запущенОн выполняет вышеуказанное, за исключением того, что он загружает файл только после завершения поиска.