我正在使用vim -d file1 file2它以查看它们之间的差异.这工作正常,但我想忽略空格更改 - 它们与源代码文件无关.
Vim帮助声明以下命令将起到魔力:
set diffopt+=iwhite
Run Code Online (Sandbox Code Playgroud)
但遗憾的是,此命令仅添加-b到diff工具命令行,并且只忽略尾随空格.diff的正确命令行键应该是-w,忽略所有空格更改.但我找不到如何直接从Vim修改diff命令行.当然我可以编译自定义差异,或用diff.sh替换差异,但这看起来有点难看:(.
有没有更好的方法来修改Vim如何与diff工具交互以显示文件差异?
在.git/config中我尝试过:
[diff]
patience = true
Run Code Online (Sandbox Code Playgroud)
但没有运气
我必须这样做:
git diff --patience
git show --patience HEAD
Run Code Online (Sandbox Code Playgroud)
等等,每一次?
在这个网站上得到了很好的回答,Bram Cohen的耐心差异在集市中被发现作为默认差异,并且作为git diff的一个选项,但我发现很难找到实现这种特殊diff算法的独立独立程序.
例如,我想将耐心差异应用于强制差异,并且使用规范的"frobnitz"代码示例非常清楚耐心差异是如何更好的:

右侧的终端已调用git diff带有--patience标志的.
我还设置了diff-highlightperl脚本,它的作用是在这些行的第一个和最后一个不同部分之间的匹配行上反转颜色.左侧有一个例子,其中这并不完全帮助了这么多,但我会让它滑,因为至少有是分号处有...无论如何,致力于改进DIFF高亮脚本是不是这个问题的主题.
除了在哪里找到独立耐心差异的问题,如果有人知道如何使perforce p4使用外部差异程序,那也是必须要做的事情.