标题真的说明了一切。有-O选项用于垂直打开分割,-o用于水平分割,但尝试混合它们似乎不起作用。
我的目标是使用g / vimdiff以类似于kdiff3的方式在mercurial中进行3向文件合并。这个方法将要合并的3个文件拆分为顶部的3个垂直选项卡(我的本地版本,我合并的文件的另一个版本,以及两者之间的基本版本),而“输出”,或合并的结果,是一个横跨底部的大型水平标签。
答案 0 :(得分:2)
这有点笨拙,但它有效:
vim -c "wincmd J" -O base diff1 diff2
(那是一个逐字的控制-W那里)
也许有一个更优雅的方法,但这只是将它们全部加载为垂直方式,然后将活动(第一个)移动到底部。
答案 1 :(得分:1)
虽然Vim允许你提供2个以上的差异文件,但是对于不仅仅是双向差异来说它并不是特别有用。
无论如何,您都无法使用-O
和-o
指定不同的分割方式。您将获得的最佳效果是获取要运行的脚本(通过-S 3way.vim
)或使用--cmd
参数来设置拆分并更改在这些拆分中显示的缓冲区。
潜在的3way.vim,假设您调用vim为vim -S 3way.vim localfile otherversion baseversion merged
将是
botright vsplit +b2 " Opens a split and focuses otherversion
botright vsplit +b3 " Opens a split and focuses baseversion
botright split +b4 " Opens a split and focuses merged
wincmd = " Resize all windows so they share space equally