duk*_*ave 6 git vim git-merge vim-fugitive
默认情况下,如果你使用fugitive.vim的:Gdiff上是与git的冲突文件缓冲区,你会得到一个三路DIFF显示HEAD,工作复印件(冲突标志),和merge.
我喜欢git config merge.conflictstyle diff3设置,包括基础(最近的共同祖先HEAD和merge冲突标记.
不幸的是,即使diff3在conflictstylein fugitive.vim中,你仍然只能获得3个窗格(没有基础).
有谁知道如何在另一个窗格中显示它?理想情况下是关于工作副本.
Tim Pope的评论似乎提供了一些线索,但我无法弄明白.
您可以通过以下步骤来完成:
:split - 进行水平分割:Gdiff - 顶部窗口中的差异Gedit :1 - 在底部窗口加载祖先Gedit :2加载头部并Gedit :3加载合并
我知道的最快的方法是这个命令,在冲突的缓冲区中发出:
:Gsdiff :1 | Gvdiff
您必须将这些命令作为一行输入,将它们作为两个单独的命令输入时效果会有所不同。
结果如下所示:
+---------------------------------------+
|         common ancestor (:1)          |
+-----------+--------------+------------+
|           |              |            |
| HEAD (:2) | working copy | merge (:3) |
|           |              |            |
+-----------+--------------+------------+
括号内的内容是 fugitive.vim 在此上下文中理解的“修订”说明符。有关:h fugitive-revision更多信息,请参阅。