有没有办法调整vimdiff';您的线路位置需要改变吗?
我已经在我的项目中修复了一些缩进问题,我正在查看之前和之后的vimdiff输出。我注意到vimdiff似乎对实际的更改非常困惑,在本例中呈现了一个非常无用的输出: 例如,它似乎认为第一行是新添加的行:有没有办法调整vimdiff';您的线路位置需要改变吗?,vim,vimdiff,Vim,Vimdiff,我已经在我的项目中修复了一些缩进问题,我正在查看之前和之后的vimdiff输出。我注意到vimdiff似乎对实际的更改非常困惑,在本例中呈现了一个非常无用的输出: 例如,它似乎认为第一行是新添加的行: <div class="text-xs-center p-4"> 事实上,所有的变化都是压痕。Vimdiff无法正确识别这些更改 在另一个类似的文件中,diff工作得更好: 我认为不同之处在于,在第二个文件中,我没有删除第一个换行符 有没有办法手动修复这类问题,以便正确显示差
<div class="text-xs-center p-4">
事实上,所有的变化都是压痕。Vimdiff无法正确识别这些更改
在另一个类似的文件中,diff工作得更好:
我认为不同之处在于,在第二个文件中,我没有删除第一个换行符
有没有办法手动修复这类问题,以便正确显示差异?我不想更改这两个文件,更改是正确的。但我想告诉vimdiff,它在相互比较错误的行
这是可能的吗?底层的
diff
工具比较各行,而不管“仅”缩进是否改变,或者更基本的内容。在第一种情况下,有一个额外的未插入行,因此diff将其识别为未更改,这会弄乱整个diff
如果要确保只更改缩进,可以通过忽略空格更改
:set diffopt+=iwhite
然后,diff应该没有显示任何更改(或者,在第一个示例中,仅显示添加的第5行)
也许还有其他更智能地处理这些情况的diff实用程序。如果您找到这样的工具,您可以通过
'diffexpr'
配置Vim来使用它,这里5处的多余空行很可能是罪魁祸首。差异是逐行计算的,所以从5到EOF的所有行都是不同的。