我想在我的vimrc中添加一些内容,这样如果我打开2个文件,它们会自动在单独的分割窗口中打开。我不想用-o
启动它,因为我有时会同时打开很多文件,并且有15个以上的分割效果不会很好。所以我想要一些逻辑来检查打开了多少文件,如果它是2则将每个文件放入自己的拆分窗口。
由于
PS我最常用这个来查看c ++项目的.cc和.hh文件。
答案 0 :(得分:10)
最简单的方法是添加
if argc() == 2
silent all
endif
到你的.vimrc。
答案 1 :(得分:4)
我通过添加到我的vim命令-c 'split | bn'
,仅从命令行完成同样的事情。我可以在同一个命令中打开尽可能多的文件; -c
告诉它运行命令,然后在单引号中,'split | bn'
告诉vim拆分窗口,然后切换到下一个缓冲区。因此,如果我输入,例如:
gvim foo1.cpp foo2.cpp foo3.cpp foo4.cpp -c 'split | bn'
然后gvim在拆分窗口中打开前两个文件foo1.cpp和foo2.cpp。我喜欢这种方式,因为我不必修改我的.vimrc(所以我可以在任何机器上使用它),并且它仍然足够简洁的命令行。
注意:我只在gvim中测试过这个,而不是终端中的vim。
答案 2 :(得分:1)
也许你可以试试
vim -o2 file1 file2 file3...
我知道这对你来说不是完美的解决方案(在这种情况下,vim每次都会打开两个窗口)。
但你可以编写(并使用)像这样的小脚本
if [ $# -ge 2 ];
vim -o2 $*
else
vim $*
fi
几乎完美;)
答案 3 :(得分:0)
也许可以在shell脚本中设置这样的东西:
#!/bin/bash
if [[ "$#" -eq "2" ]]
then
/usr/bin/vim -o $1 $2
else
/usr/bin/vim $*
fi
如果你感觉有点花哨,那么你可以做一些更复杂的事情,循环参数并检查是否有任何选项并忽略它们。