如何将grep -l的文件名结果导入vim编辑器

时间:2017-11-28 14:20:36

标签: vim grep

我想将grep -l命令的结果指向vim编辑器。

E.g。

$ grep -l urls *.txt

foo1.txt
foo2.txt
foo3.txt

如何发出此命令,并在vim中打开foo文件?

4 个答案:

答案 0 :(得分:2)

您可以合并:help :args和命令替换:

$ vim +ar\ $(grep -l urls *.txt)

使用!!重用最新命令:

$ vim +ar\ $(!!)

答案 1 :(得分:1)

这会打开vim,文件的文件名以.txt结尾,并包含字符串“urls”:

grep -l urls *.txt | vim -

enter image description here

答案 2 :(得分:1)

你必须将程序的输出作为参数传递给vim,而不是输入:

vim $(grep -l urls *.txt)

也可以使用Duikboot提到的xargs

grep -l urls *.txt | xargs vim

答案 3 :(得分:0)

在vim中,您可以将任何外部命令的输出重定向到当前缓冲区。

试试这个!

:r!grep -l urls *.txt