文本对比
左右两栏,删除标红,新增标绿,每行里改动的词也会单独标出。
把文件拖到这里
.txt, .md, .csv, .json · 最大5 MB
如何对比
- 1
两边各放一段文本
粘贴进去,或一次拖入两个文件。
- 2
选择对比的粒度
按整行、单词或单个字符。
- 3
查看差异
也可以下载统一格式的.diff补丁。
忽略某些差异,改变的是匹配,不是文本
忽略大小写、空白或标点的选项之所以存在,是因为这些方面的差异通常不是你关心的差异:一行改了缩进,并不等于这行被重写了。这些选项改变的是用来对齐两段文本的依据。屏幕上显示的始终是原文,一个字符都不差,所以从结果里复制出来的是真实文本,而不是规范化后的版本。有些工具规范化的是显示内容,结果悄悄给了你一段哪里都不存在的文本。
三种粒度,回答三个不同的问题
按行对比回答哪些行移动了、出现了或消失了,适合代码、配置文件和CSV。按词对比是默认方式,还会显示改动行里具体哪些词变了,这正是文章需要的:一个段落只换了一个形容词,不应该看起来像整段重写。按字符对比用于单个字母都很重要的场合,比如标识符、序列号或网址;它特意不作为默认方式,因为用在普通文本上,结果会碎成满屏彩屑。
先删后加是一处修改,不是两处
一行被编辑后,在简单的diff里会显示为先删除一行、再新增一行,读者得在脑子里把两半拼起来才能看出改了什么。这里,删除后紧跟插入会合并成一个“已修改”行,旧文本在左,新文本在右,修改看起来就是修改。计数也按同样的逻辑:新增、删除和修改是三个独立的数字,而不是被夸大的一对数字。
匹配度百分比,以及它的基准
百分比是未改动的行数除以较长一侧的长度。分母很重要:如果一份一百行的文档增加到两百行,结果的一半是新内容;以原文为基准的话会报告百分之百匹配,而读者看到的却是一份大不相同的文档。下载结果得到的是统一格式补丁,也就是git apply和所有代码审查工具都认识的标准--- +++ @@格式,保留多少上下文由你设置。
两段文本都留在你的设备上
对比完全在浏览器中运行,包括diff库:它从本站获取,然后在本地执行。不上传任何内容,不保存任何内容,也无需账号。这一点在这里比在多数工具里更重要,因为对比一份文档的两个版本,通常意味着两份都是你不想外传的草稿。
常见问题
能直接对比两个文件,不用粘贴吗?
能,一次拖入两个文件,它们会按顺序填入左右两栏。支持文本、Markdown、CSV和JSON,每个最大5 MB。
百分比是什么意思?
未改动的行占两段文本中较长那段的比例。如果以较短的一段为基准,只要文档只是增加了内容,结果就会显示完全匹配。
为什么有些行标为“已修改”,而不是新增和删除?
因为实际发生的就是修改:删除后紧跟插入,就是一次编辑。把它们合并,可以并排看到这一行的新旧两个版本。
.diff文件有什么用?
它是标准的统一补丁格式。代码审查工具能读取它,git apply可以把改动重新应用到文件上。每处改动周围保留多少未改动的上下文可以调节。
忽略空白会改变我的文本吗?
不会。它只改变行与行之间的匹配方式。显示和复制的文本始终和你粘贴的完全一致。
每一侧最多能放多大的文本?
每侧最多5 MB或500 000个字符。更大的文档请先拆分。
内容会发送到服务器吗?
不会。两段文本都在浏览器中对比,从不离开浏览器。