如何将grep-l的文件名结果定向到vim编辑器
我想将grep-l命令的结果直接发送到vim编辑器 例如 如何发出此命令,并在vim中打开foo文件如何将grep-l的文件名结果定向到vim编辑器,vim,grep,Vim,Grep,我想将grep-l命令的结果直接发送到vim编辑器 例如 如何发出此命令,并在vim中打开foo文件 grep -l urls *.txt | xargs vim xarg将标准输入转换为命令的参数。 这将打开vim,其中文件名以.txt结尾,并包含字符串“URL”: grep -l urls *.txt | vim - 您必须将程序的输出作为参数传递给vim,而不是作为输入: vim $(grep -l urls *.txt) 也可以使用Duikboot提到的xargs grep -l
grep -l urls *.txt | xargs vim
xarg将标准输入转换为命令的参数。
这将打开vim,其中文件名以
.txt
结尾,并包含字符串“URL”:
grep -l urls *.txt | vim -
您必须将程序的输出作为参数传递给vim,而不是作为输入:
vim $(grep -l urls *.txt)
也可以使用Duikboot提到的xargs
grep -l urls *.txt | xargs vim
您可以组合使用
:help:args
和命令替换:
$ vim +ar\ $(grep -l urls *.txt)
使用
要重用最新命令,请执行以下操作:
$ vim +ar\ $(!!)
在vim中,您可以将任何外部命令的输出重定向到当前缓冲区 试试这个
:r!grep -l urls *.txt
看一看
:h:vimgrep
这可能就是您要找的。谢谢Juan和Duikboot。出于某种原因,xargs方法不能很好地与gitbash配合使用。然而,Juan,您上面的第一个解决方案非常有效。多亏了这两个!
:r!grep -l urls *.txt