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