在vim中,是否可以通过命令行中的拆分和制表符组合打开多个文件?

2vuwiymt  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(132)

当我使用Vim时,我经常喜欢打开多个标签页,在同一个标签页上分割头文件和cpp文件,这样它们就可以并排,很容易相互关联。
通过在vim中使用:vsp:tabe的组合可以轻松实现这一点,但是,我希望在打开vim之前从命令行执行此操作,因为我通常使用shell脚本来打开所有项目文件,这样我就不必在每次关闭会话时都执行此操作。
我知道vim有-o-O-p标志,但是,使用这些标志会以分页或分割模式打开所有文件。组合它们并不能按照我希望的方式工作。我希望能够直接从命令行打开混合的分页和分割。
有什么想法如何实现这一点?

g2ieeal7

g2ieeal71#

这个问题的关键是在您找到-o-O-p的同一个地方找到:在$ vim --help中:

-c <command>        Execute <command> after loading the first file

其思想是在shell中执行在Vim中手动执行的操作:

$ vim file1.cpp -c "vsplit file1.h" -c "tabedit file2.cpp" -c "vsplit file2.h"

还有其他可能的方法,例如将所有这些命令放在一个脚本中,并在启动时提供:

" in myscript.vim
:vsplit file1.h
:tabedit file2.cpp
:vsplit file2.h

" in your shell
$ vim file1.cpp -S myscript.vim

或者,您可以使用-p打开标签页中的每个*.cpp文件,然后遍历它们以打开相应的标题:

vim -p file1.cpp file2.cpp -c "tabdo vsplit %<.h"

上面的所有示例都具有相同的结果:

相关问题