【问题标题】:How to make "git difftool --dir-diff" working with vim如何使“git difftool --dir-diff”与 vim 一起工作
【发布时间】:2020-08-21 04:19:39
【问题描述】:

我很高兴与 git difftool --dir-diff 合作,通过超越比较来显示目录和文件之间的总体差异并在它们之间导航。

然而,当涉及到 vimdiff 时,它似乎不支持来自 git 的 dir diff。我创建的一个 git 别名如下

    dirdiff = difftool --ignore-submodules --tool=vimdiff --dir-diff --no-symlinks

在我执行git dirdiff HEAD~1 HEAD 之类的操作后,它会在netrw 文件浏览器中使用vim 列出左右两个目录。但是,在其中任何一个上按 enter 都不会使文件夹在两侧展开,更不用说打开具有并排差异的文件了。

vimdiff 可以很好地在可视模式下显示单个文件差异,有没有办法让它也适用于--dir-diff

【问题讨论】:

    标签: git vimdiff difftool


    【解决方案1】:

    我从另一个 stackoverflow thread 找到了解决方案。答案由@user744629 提供。按照他的建议

    [alias]
        dirdiff = difftool --ignore-submodules --dir-diff --no-symlinks --tool=vimdirdiff
    
    [difftool "vimdirdiff"]
        cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE
    

    之后,您可以使用git dirdiff HEAD HEAD~1 并排查看差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多