我想知道是否有办法用Vim打开多个文件,但每个文件都在一个特定的行号上。我来解释一下:
我经常使用语法: vim my/way/ to /far/ file +120来编辑第120行的这个文件,因为gcc也告诉我:)
现在我正在寻找的是一种同时处理多个文件的方法!
当然,vim file1 +xx file2 +xx ...不起作用(+选项仅影响第一个文件...不要问我为什么)
那么如果有人知道解决这个问题的方法呢?我不是在手册页上找到的。
顺便说一句,有时候,file1可能和file2是同一个文件...
发布于 2010-01-28 00:48:37
这里有一种方法:vim +6 file1 +"sp +3 file2"
。如果您喜欢选项卡,请将sp
更改为tabnew
。
但只有当有人能用它写一个脚本时,它才会真正有用……
发布于 2013-08-01 00:39:13
我刚写了https://gist.github.com/xim/6123691
感谢Pikrass的想法=)
编辑:
正如claferri所说,使用'+tabnew ...‘限制为10个文件。已更新要点以使用-S。
vim函数将构建一个包含vim脚本的字符串($script),该脚本在选项卡中的适当行中打开文件。使用示例解释,这是通过将vim -R file1:42 file2 file3:1337
更改为vim -S <script> -R file1 file2 file3
来完成的-包含vim脚本,在本例中:
tab all
tablast
1337
tabprev
tabprev
42
所以:我们正常打开文件,然后执行脚本:跳到最后一个选项卡,然后跳到每个文件的适当行,同时移动到第一个文件。
这个攻击只经过了中等程度的测试,如果有任何错误,请发表评论。
重新编辑:
修复了脚本,因此即使是像vim -R 1:3 "a file" foo -- -- "some other file":34 -R
这样的疯狂示例也能按预期运行。
发布于 2010-01-28 06:06:53
vim可以读取您的gcc输出,并创建一个快速修复列表,使您可以轻松导航通过您的代码中的所有错误。您可以使用vim -q读取现有的错误文件,或者如果您的项目使用Makefile,则可以使用:make命令从vim中执行make并捕获其输出。
https://stackoverflow.com/questions/2148397
复制相似问题