在`gvim`中打开muiltiple(100+)文件 - 不在标签中,而不是在vim

时间:2015-05-04 02:29:57

标签: vim

我正在分析linux中成千上万个测试用例的回归。所以我想一次在gvim打开许多文件(失败)。

我有一个文件如下所示,100多行指定目录中的100多个文件。我想在gvim(单gvim)中打开所有这些文件。

./Linux2/Lint/case1/DIFF
./Linux2/Lint/case4/DIFF
./Linux2/Lint/case10/DIFF
./Linux2/range/case1/DIFF
./Linux2/operator/case7/DIFF

这样的100多行。

有没有办法在gvim中使用某种导航机制打开所有这些文件中的文件。

我知道可以使用,

gvim file1 file2 .....

但使用100多个文件并不容易。

我需要在gvim中执行此操作,而不是vim

2 个答案:

答案 0 :(得分:2)

听起来你想从文件中生成一个命令行参数。您可以使用bash中的command substitution来完成此操作。

gvim $(cat ListOfFiles.txt)

答案 1 :(得分:2)

我刚刚使用了find . -name DIFF | xargs vim,并且能够使用:next:prev以及:buffers

浏览所有文件

当我点击大约1500个文件时,只有丑陋的一点,我得到两个vim的调用,并且必须完成编辑前1500个文件,然后再转到下一个1500(由于xargs的工作方式)。 / p>

另一种选择是使用vims错误文件解析。列出文件中包含行和错误信息的所有文件,打开该文件并在该缓冲区中运行:cbuffer(它将关闭错误文件并将您移至第一个列出的错误)。 :copen将以 Quickfix List 打开错误列表。然后,您可以使用通常的:cn:cp在quickfix列表中向前和向后移动(并且quickfix列表中的<CR>也可以使用。这样的事情应该可以解决盒子给你。

:./Linux2/Lint/case1/DIFF:1: Not really an error
:./Linux2/Lint/case2/DIFF:1: Not really an error
:./Linux2/Lint/case3/DIFF:1: Not really an error

现在可以改进这一点,因为vims错误解析是灵活的。您可以使用:删除对排名set errorformat=%f:%l:\ %m的要求,或者只使用set errorformat=%f使用原始文件列表。