什么是文本差异对比?
文本对比工具精确高亮显示两段文本之间的差异。新增、删除和修改的内容以不同颜色并排显示或在统一视图中展示。它同样适用于代码版本、文档修订和配置文件。
本工具使用 Myers 算法比对,既能发现整块顺序的调整,也能捕捉单行的小改动。可以按行比较,也可以切换到按词粒度以适合散文;勾选“忽略空白”可跳过纯格式差异;勾选“忽略大小写”后,仅大小写的改动不再计为差异;点击“交换”可对调哪一侧是原文。结果可以看统一视图(带 + 和 - 前缀,方便粘进提交信息),也可以看左右并排视图。文件较长时会折叠未改动的段落,并提供上一处/下一处箭头逐个查看改动。两侧输入都是自由文本,因此代码、JSON、散文或日志都能处理。
使用方法
- 将原始文本粘贴到左侧面板,将修改后的文本粘贴到右侧面板。
- 查看高亮显示的差异:绿色表示新增、红色表示删除、黄色表示修改。
- 在并排视图和统一差异视图之间切换,或复制差异结果用于文档记录。
何时使用
- 把合同或文章的修改稿和原稿对照,确认改动后再发出去。
- 服务出故障时,找出两份配置文件之间到底改了哪几行。
- 校对翻译稿和原文,确认没有漏译或多译。
结果
一位开发者粘贴了两个版本的配置文件,立即看到新增了3行、删除了1行、修改了2行——每处变更都在上下文中高亮显示。
常见问题
- 是按字符比对还是按行比对?
- 都可以。默认的按行模式把整行当作一个单位,所以一个错字会把整行旧内容标为删除、新内容标为新增,并在行内高亮出具体改动的字符。切换到按词模式后,它会逐词比较,对散文和配置值更易读。
- 能处理几千行的大文件吗,比如 5000 行的日志?
- 可以。文件较长时,工具会自动把大段未改动的内容折叠起来,只保留几行上下文,这样你看到的主要就是真正改动的部分。用差异上方的上下箭头可以直接在各处改动之间跳转,如果并排两栏显得拥挤,切到统一视图即可。
- 空格算差异吗?
- 默认会。行尾空格、多出的空行、制表符与空格的区别都会被算作改动。勾选“忽略空白”后,这些纯格式差异就会被忽略,只显示真正的修改。按词模式本身也会合并连续的空白。
- 可以只复制差异内容,不要两边的原文吗?
- 可以。复制按钮导出的是统一格式的差异(带「+」「-」前缀),直接粘到代码评审、邮件、文档说明里都没问题。
- 和 git diff 是一回事吗?
- 底层算法相同(都是 Myers 差异),所以同一对输入产生的结果会和 git 的行级差异一致。区别在于这里可以对比任意两段文本,不需要仓库或提交历史。