如何在程序中打开预定的vim设置

时间:2015-01-11 18:13:17

标签: python vim split

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

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

1 个答案:

答案 0 :(得分:3)

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

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

你也可以将这个明确传递的{filename}参数(首先打开)结合起来。对于非常复杂的设置(-c参数的数量限制为10,命令链(edit foo | split bar)也很快就会变得不全面),您可以将所有命令提取到外部Vimscript中,然后通过-S {scriptname}