在编辑文档时,我总是坚持最大80或150个字符的特定行宽,这取决于我所写的内容(代码,文本等)。如果仅更改一点,则整个段落都会移动,因此,多行现在以不同的顺序排列,以最佳地适应给定的行宽。我该如何比较以查看实际的实际变化而不是重新包装的工件?
例如,textwidth = 30:
实际的变化很小:
我是否在这里使用(g)vimdiff的事实与其他软件能否完成所需的差异无关。
当然,软件设计为在文本到达窗口边界时自动换行,因此我也尝试仅在段落末尾使用换行符。之所以这样不好,是因为自动比较是基于行的,对于段落中的微小更改,我得到了整行,这意味着整个段落都将作为diff update :(.。
最佳答案
GNU wdiff逐字进行比较,不会对空格和换行进行任何不同的处理。甚至可以为其找到vim语法文件(例如here)。
$ cat file1
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Aenean vel molestie
nulla. Pellentesque placerat lacus vel
eros malesuada tristique. Nulla vitae
volutpat justo. Donec est mauris,
$ cat file2
Lorem amet, consectetur adipiscing some
inserted text! elit. Aenean vel molestie
nulla. Pellentesque placerat lacus vel
eros malesuada replacement. Nulla vitae
volutpat justo. Donec est mauris,
$ wdiff file1 file2
Lorem [-ipsum dolor sit-] amet, consectetur
adipiscing {+some inserted text!+} elit. Aenean vel molestie
nulla. Pellentesque placerat lacus vel
eros malesuada [-tristique.-] {+replacement.+} Nulla vitae
volutpat justo. Donec est mauris
(
[- ... -]
是删除的文本,{+ ... +}
是插入的文本)。(还有其他的diff程序也做类似的事情:例如adiff,也许还有https://stackoverflow.com/questions/12625/best-diff-tool中列出的一些程序)
关于diff - 如何区分重新包装的文字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8831704/