在“gvim”中打开多个文件(100+;)-不在选项卡中,不在vim中

在“gvim”中打开多个文件(100+;)-不在选项卡中,不在vim中,vim,Vim,我正在分析linux中数千个测试用例的回归。所以我想一次在gvim中打开许多文件(失败) 我有一个如下所述的文件,其中100+行指定目录中的100+个文件。我想在gvim中打开所有这些文件(在单个gvim中) 像这样的100多行 在gvim中,是否有任何方法可以使用某种导航机制打开所有这些文件中的文件 我知道这是可能的 gvim file1 file2 ..... 但是,拥有100多个文件并不容易 我需要在gvim中执行此操作,而不是在vim中执行此操作听起来像是要从文件生成命令行参数。您可以

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

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

像这样的100多行

gvim
中,是否有任何方法可以使用某种导航机制打开所有这些文件中的文件

我知道这是可能的

gvim file1 file2 .....
但是,拥有100多个文件并不容易


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

中执行此操作听起来像是要从文件生成命令行参数。您可以在
bash
中执行此操作

./Linux2/Lint/case1/DIFF
./Linux2/Lint/case4/DIFF
./Linux2/Lint/case10/DIFF
./Linux2/range/case1/DIFF
./Linux2/operator/case7/DIFF
gvim $(cat ListOfFiles.txt)

听起来像是要从文件中生成命令行参数。您可以在
bash
中执行此操作

gvim $(cat ListOfFiles.txt)

我刚刚用了
find-name DIFF | xargs vim
并能够使用
:next
:prev
:buffers

唯一难看的是,当我点击1500个文件时,我会得到两次vim调用,并且必须完成前1500个文件的编辑,然后再转到下一个1500个文件(由于xargs的工作方式)

另一个选项是使用vims错误文件解析。列出文件中的所有文件以及有关行和错误的信息,打开该文件并在该缓冲区中运行
:cbuffer
(它将关闭错误文件并将您移动到列出的第一个错误)<代码>:copen将打开错误列表作为快速修复列表。然后,您可以使用常用的
:cn
:cp
在快速修复列表中前后移动(快速修复列表中的
也可以。类似的功能应该是现成的

:./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

来删除对前导
的要求,我刚刚使用了
find.-name DIFF | xargs vim
,并且能够在所有的t文件中导航他使用
:next
:prev
:buffers

唯一难看的是,当我点击1500个文件时,我会得到两次vim调用,并且必须完成前1500个文件的编辑,然后再转到下一个1500个文件(由于xargs的工作方式)

另一个选项是使用vims错误文件解析。列出文件中的所有文件以及有关行和错误的信息,打开该文件并在该缓冲区中运行
:cbuffer
(它将关闭错误文件并将您移动到第一个列出的错误).
:copen
将以快速修复列表的形式打开错误列表。然后,您可以使用常用的
:cn
:cp
在快速修复列表中前后移动(快速修复列表中的
也会起作用。类似的操作应该是现成的

:./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

的原始文件列表,而不是所有的DIFF文件,而是失败测试用例中的所有DIFF文件。这就是我将这些文件放在se中的原因分开文件查看,特别是“快速修复模式”的答案。谢谢@cgs,我正在查看的不是所有的差异文件,而是失败测试用例中的所有差异文件。这就是为什么我把它们放在单独的文件查看中,特别是“快速修复模式”回答。谢谢@cgs,我正在调查。我想OP已经在另一个文件中有了他关心的文件名。谢谢,但是我的目录在通过的测试用例中有空的DIFF文件。同样,我只需要在失败的测试用例中打开DIFF文件。在这种情况下,我的第二个方法应该可以很好地工作。你甚至可以在错误消息中添加一些上下文关于失败的原因等。是的,我失败的测试的diff文件包含失败的原因。@ANjaNA在“快速修复”窗口中选择它,然后点击enter?或
:14cn
:cc 14
:help quickfix
将提供多页选项。我想OP在另一个文件中已经有了他关心的文件名。谢谢,但我的目录中有empty DIFF文件在通过的测试用例中也是如此,我只需要在失败的测试用例中打开DIFF文件。在这种情况下,我的第二种方法应该可以很好地工作。你甚至可以在错误消息中加入一些上下文,说明失败的原因等。是的,我失败的测试的DIFF文件包含失败的原因。@ANjaNA在“快速修复”窗口中选择它,然后点击enter?或:14cn或
:cc 14
:help quickfix
将提供多页选项。我在bash中尝试了
gvim$(cat失败)
命令。其中
失败的
是包含文件列表的文件。但给出了非法变量名。错误。
cat失败的
工作正常。我尝试了
gvim$(cat失败)
bash中的命令。其中
失败
是包含文件列表的文件。但给出了非法变量名。错误。
cat失败
工作正常。