Merge 使用vimdiff时无法解决hg合并冲突

Merge 使用vimdiff时无法解决hg合并冲突,merge,mercurial,vimdiff,Merge,Mercurial,Vimdiff,我使用的是mercurial的默认版本,没有太多修改。默认情况下,它使用“vimdiff”用于我不熟悉的目的。我将解释这种情况: 在默认分支上第一次提交后: #include <stdio.h> #define MAX(x, y) (x > y ? x : y) int main() { return 0; } #包括 int main 在xyz分支上第一次提交后: #包括 int main() { 返回0; } 在默认分支上第二次提交后: #incl

我使用的是mercurial的默认版本,没有太多修改。默认情况下,它使用“vimdiff”用于我不熟悉的目的。我将解释这种情况:

在默认分支上第一次提交后:

#include <stdio.h>

#define MAX(x, y)     (x > y ? x : y)

int main()
{
    return 0;
}
#包括
int main
在xyz分支上第一次提交后:

#包括
int main()
{
返回0;
}
在默认分支上第二次提交后:

#include <stdio.h>

#define MAX(x, y)     (x > y ? x : y)

int main()
{
    return 0;
}
#包括
#定义最大值(x,y)(x>y?x:y)
int main
将xyz分支合并到默认分支后的预期代码:

#include <stdio.h>

#define MAX(x, y)     (x > y ? x : y)

int main()
{
    return 0;
}
#包括
#定义最大值(x,y)(x>y?x:y)
int main()
{
返回0;
}
我应该以何种方式接受/放弃代码的大块/差异/部分,以在vimdiff或ediff中获得预期的结果。如果有其他方法解决这个问题,请分享


Mercurial有一套它将搜索的默认合并工具。如果它建议使用
vimdiff
,那是因为它找不到任何其他工具,或者是因为您在
$HOME/.hgrc
中指定了它

页面和
hg help mergetool
解释用于指定合并工具的语法。我建议使用KDiff3,这是一个跨平台的GUI合并工具

然后,您必须熟悉KDiff3的用法,但它是一个GUI,因此您可以对其进行探索。如果你想使用它,它也有很多快捷键

#include <stdio.h>

#define MAX(x, y)     (x > y ? x : y)

int main()
{
    return 0;
}