Diff会告诉我哪些线路被改变了,但由于每条线路可能有多个差异,我必须仔细扫描这些线路以找到每条线路上每个物理上很小但很重要的差异.修复后,我必须重复差异,以确保我没有错过任何编辑.当行格式化(即每段一行),并且当许多连续行具有如此小的差异时,情况变得更糟.
现在我必须承认我通常只将这两个文件加载到Microsoft Word中并使用其内置的diff函数.启动一个像Word这样的大包只是为了找到一些小的差异当然不方便,但至少它在逐个字符的基础上比较文件.
我真正想要的是一种Unix方式.一个小而可爱的工具或脚本,对文本进行逐字符比较,即不基于行,能够忽略行结尾,通过一些明智的ascii-art报告,并且完全可管理以在命令行的脚本中使用?
还有另外一个问题,Using ‘diff’ (or anything else) to get character-level diff between text files,但这个问题是由基于网络的工具所示的lib所满足的,我更喜欢命令行上的东西.
>打开你想要差异的文件,如下所示:
gvim -d file1 file2
>使窗口全屏,以便更容易看到
>使用以下命令使gvim内的拆分窗口大小相同:C-w =(那是控制W然后=)
>要更好地查看段落格式化的行,请输入:set wrap,然后使用C-w w(或通过鼠标单击)切换到另一个拆分窗口,并输入:set wrap
>要在更改之间移动,请使用[c和] c.要合并更改,请使用dp(“diff put”)和do(“diff gets / get”).
突出显示具有差异的线条,并且线条内的差异也以另一种颜色突出显示.我希望这能满足您的需求. gvim可以为您做更多事情,例如从一个文件合并到另一个文件.您可以使用以下命令找到更多信息:help diff(inside gvim).
你也可以尝试kdiff3,它可能比学习vim更容易.