如何从程序中打开预先确定的 vim 设置

How can I open a predetermined vim setup from within a program

我编写了一个 python 程序,该程序将 CIDR 指定的 IP 地址块列表处理到数据库中。这涉及检查列表中现有数据库 table 中的重复项或地址重叠。如果发现重复或重叠,则会将错误报告写入 python 创建的临时文件,并调用 vim 以在 [=21= 中并排显示地址列表和错误文件] 分裂window。我希望拆分偏离中心,以便包含地址列表的窗格比包含较长错误语句的窗格窄。

如果错误文件的名称已修复,我可以按照我想要的方式进行设置,在程序之外保存一个 vim 会话,然后从程序中的命令行加载它。我想要做的是 开始 vim 适当的非对称垂直分割 并将地址块列表加载到较窄的 window 和错误文件中,带有动态创建的名称,在第二个中,更宽 window。我可以使用 :30vs 之类的东西创建拆分。或在 .vimrc 文件中使用“:vertical res 30”调整大小和现有拆分,但如果我使用 -O 选项加载两个文件,则不对称将被覆盖。在 vim 中有什么方法可以使用动态生成的临时文件作为编辑目标之一来做到这一点?

-o / -O / -p 命令行参数仅涵盖(等尺寸)拆分/标签页的常见情况,但您可以创建任意 window 通过在 Vim 中使用的相同命令布局,通过 -c {cmd} 传递。例如:

$ vim -c "edit errorfile.txt" -c "leftabove 30vsplit addressblock.txt"

您也可以结合显式传递的 {filename} 参数(先打开)。对于非常复杂的设置(-c 参数的数量限制为 10,并且命令链接 (edit foo | split bar) 很快也会变得不全面),您可以将所有命令提取到外部 Vim 脚本中,然后通过 -S {scriptname}.

启动它