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