Vim:在不同的行上打开多个文件

cla*_*laf 18 vim

我想知道是否有办法用Vim打开多个文件,但是特定行号上的每个文件.我解释 :

我经常使用语法:vim my/way/too/far/file +120以便在第120行编辑此文件,因为gcc告诉我:)

现在我正在寻找的是同时为多个文件执行此操作的方法!

当然,vim file1 + xx file2 + xx ...不起作用(+选项只影响第一个文件......不要问我为什么)

所以,如果有人知道解决这个问题的方法吗?我没有在联机帮助页中找到它...

顺便说一句,有时,file1可能与file2相同的文件...

Pik*_*ass 11

这是一种方式:vim +6 file1 +"sp +3 file2".如果您更喜欢标签,请更改sptabnew.

但是只有有人能用它制作一个脚本才真的有用......


Mor*_*ten 5

我刚刚写了https://gist.github.com/xim/6123691

感谢Pikrass的想法=)

编辑:

正如claferri所说,使用'+ tabnew ...'将你限制为10个文件.更新了要使用-S的要点.

vim函数将构建一个包含vim脚本的字符串($ script),该脚本在选项卡中以适当的行打开文件.使用示例进行解释,这可以通过更改vim -R file1:42 file2 file3:1337vim -S <script> -R file1 file2 file3- 包含vim脚本来完成,在这种情况下:

tab all
tablast
1337
tabprev
tabprev
42
Run Code Online (Sandbox Code Playgroud)

所以:我们正常打开文件,然后执行脚本:跳转到最后一个选项卡,然后跳转到每个文件的相应行,同时移向第一个文件.

这个hack只是经过适度测试,对任何错误发表评论.

重新编辑:

修复了脚本,所以即使是像vim -R 1:3 "a file" foo -- -- "some other file":34 -R预期的那样工作的疯狂示例.