为了说明,这里是如何从命令行执行此操作:
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`
(在混沌回答之后,这被埋没在评论中 - 我在这里添加它们以使它们更加明显,以防其他人遇到此问题)
嗯,这对我有用:
:args `grep -Rl "hello" *`
运行vim 7.0.305.