Vim、自定义选项卡和打开时的垂直拆分组织

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

假设我的工作目录中的文件是src/example.csrc/second.csrc/third.cinclude/example.hinclude/second.hinclude/third.h
我想打开vim的方式,自动打开三个标签页(例如,第二个和第三个),其中每个标签页包含一个.c和对应的.h文件之间的垂直分屏。就像下面的命令一样。

:tabnew include/example.h | vs src/example.c
:tabnew include/second.h | vs src/second.c
:tabnew include/third.h | vs src/third.c

有没有一种方法,我可以做一个特殊的脚本,将这样做,当我打开vim?
可以安全地假设文件将具有相同的名称。
理想情况下,如果可能的话,这将通过shell脚本而不是修改我的.vimrc来实现。

nom7f22z

nom7f22z1#

如果你想这样做,你显然需要一种方法来从你的shell执行Vim命令。让我们看看Vim应用程序是否提供了这种方法,通过使用help命令,我们应该首先询问每个shell命令:

?> vim --help | grep cmd

--cmd <cmd>           Execute <cmd> before any config
+<cmd>, -c <cmd>      Execute <cmd> after config and first file

因此,所需的只是将这些命令链接起来:

vim -c 'tabnew include/example.h' -c 'vs src/example.c' -c 'tabnew include/second.h' -c 'vs src/second.c' -c 'tabnew include/third.h' -c 'vs src/third.c'

正如@Enlico在注解中指出的那样,在第一个命令中应该使用edite而不是tabnew,否则会出现4个制表符。但是我使用了您的命令,这样您就可以看到通过阅读--help的输出可以多么容易地解决这个问题。

相关问题