我正在分析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
。
答案 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
使用原始文件列表。