文本差异检查器:对比文本并突出变化
对比两段文本,逐行或逐词突出显示每一处新增和删除内容。
将原始文本粘贴到左侧,将修改后的文本粘贴到右侧,选择比较模式并点击“比较”。差异完全在浏览器中计算。
文本差异检查器:对比文本并突出变化
对比两段文本,逐行或逐词突出显示每一处新增和删除内容。
比较完整的行,最适合代码、配置文件和列表。
关于文本差异检查器
靠眼睛比较文档的两个版本既慢又不可靠——长段落中只改了一个词,或百行文件中只改了一行,都很容易漏看。文本差异检查器会自动完成比较:粘贴原始版本和修订版本,点击“比较”,每个插入和删除都会被突出显示,让确切变化立即显现。
工具提供两种比较模式,因为不同内容需要不同的粒度。“按行”模式将每行作为比较单位,生成开发者熟悉的 Git 和代码审查工具中的统一差异样式:新增行以绿色加号开头,删除行以红色减号开头,未变行以普通文本显示作为上下文。它特别适合源代码、配置文件、CSV 导出、SQL 语句以及任何行结构有意义的内容。“按词”模式则比较连续文本中的单个词,在段落中以绿色突出新增词,以红色删除线显示删除词。对于合同、文章、邮件、文档和译文等散文内容,这是更合适的选择,因为按行比较会因两处词语改动而标记整段内容。
在底层,检查器使用经过充分验证的 Myers 差异算法实现——与大多数版本控制系统采用的方法相同——因此输出的是简洁合理的变化集合,而不是嘈杂的字符堆。差异上方的摘要会统计变化片段,让你在查看细节前快速了解文档的编辑幅度。
所有处理都在浏览器本地完成。文本不会上传、存储或记录,因此适合处理法律协议、未发表手稿、内部政策或专有代码等机密材料。常见用途包括核对同事在共享文档中的修改、检查系统间复制粘贴是否悄悄改变了内容、将 AI 改写文本与原文对照、部署前审查配置变化,以及确认两个导出文件是否相同。如果两段输入完全一致,检查器会明确告知,而不是显示空白差异,让干净的结果不会产生歧义。
文本差异示例
两种模式如何呈现典型编辑。
| 所做更改 | 差异输出 | 最佳模式 |
|---|---|---|
| 在配置文件中间插入新行 | 两行未变内容之间出现一行带加号前缀的绿色文本 | 按行模式——周围行保持不变,便于查看上下文。 |
| 在一段散文中替换一个词 | 旧词为红色删除线,新词在原位置以绿色突出显示 | 按词模式——按行模式会把整段标为已更改。 |
| 删除合同中的一个条款 | 被删除的词在句中以红色删除线显示 | 按词模式便于审查细小的法律修改。 |
| 重新排列列表中的行 | 移动的行会分别显示为一次删除和一次新增 | 差异跟踪的是内容而非移动,因此移动看起来像删除加插入。 |
如何使用文本差异检查器
- 将文本的第一个版本粘贴到原始文本框。
- 将第二个版本粘贴到修改文本框。
- 代码和结构化文件选择“按行”,散文和段落编辑选择“按词”。
- 点击“比较”,查看绿色新增、红色删除以及变化片段数量。
- 如果另一种粒度更适合你的内容,可切换模式再次比较。
文本差异检查器常见问题
按行模式和按词模式有什么区别?
按行模式比较完整行,并输出统一的 Git 风格差异,适合代码和配置。按词模式在文本中逐词比较,因此段落中一个词的编辑只会显示为一个词的变化,而不会标记整行。
我的文本会上传到服务器吗?
不会。比较完全在浏览器中通过 JavaScript 运行。两段文本都留在你的设备上,因此适合合同、接近凭据的配置及其他敏感内容。
差异使用哪种算法?
工具使用 jsdiff 库提供的 Myers 差异算法实现,与 Git 和大多数版本控制系统使用的算法同属一类,因此输出的是最小变化集合。
为什么移动的行同时显示为删除和新增?
经典差异算法跟踪内容而不是移动。当一行改变位置时,算法会报告旧位置的删除和新位置的插入;内容本身并未改变。
差异上方的计数器代表什么?
它们按照算法报告的结果统计变化片段,即连续的插入或删除内容。一项统计新增片段,另一项统计删除片段,帮助你快速了解编辑量。
可以比较很大的文档吗?
在合理范围内可以。该算法适合常见文档和源文件。超大的输入(数 MB)可能需要等待片刻,因为所有计算都在你的设备上而非服务器完成。