Чтобы проиллюстрировать здесь, как это сделать из командной строки:
vim `grep "hello" * -Rl`
Это открывает vim со всеми файлами, в которых есть "привет" (-l дает имена файлов в одиночку). Я хочу сделать то же самое, но изнутри vim. Концептуально, что-то вроде этого (что не работает):
:args !grep "hello" * -Rl
Я открыт для совершенно разных подходов к этому; Я просто хотел бы, чтобы он был на одной линии (так что легко редактировать и повторять).
Ответ заключается в том, чтобы просто использовать backticks - но с ключевым условием! Нижеследующее не работает для меня из-за кавычек вокруг hello
:
:args `grep "hello" * -Rl`
Но он работает, если я удаляю их или избегаю кавычек:
:args `grep hello * -Rl`
:args `grep \"hello\" * -Rl`
(это было похоронено в комментариях после ответа хаоса - я добавил их сюда, чтобы сделать их более заметными, на случай, если кто-то еще столкнулся с этой проблемой)