一句话定位
Meld 是一款开源的可视化差异对比工具,能把两个文件、两个文件夹甚至三个版本的差异,用颜色一行行标出来。
痛点分析
我们经常遇到这种场景:同事发来「修改版」文档,你想知道到底动了几处;服务器上的配置文件和本地备份对不上,diff 命令输出几百行看着头晕;两个文件夹同步完之后,想确认谁多了一个文件、谁少了一个。
命令行 diff 当然能用,但它只给你一堆 < 和 >。Beyond Compare 好用,可是要收费;WinMerge 免费但只支持 Windows,三方合并的能力也弱一些。跨平台、免费、还能做三方对比的选择其实不多,Meld 就是其中一个。
核心能力
- 文件对比:逐行高亮新增、删除、修改,改动块之间有连线,滚动时左右同步
- 文件夹对比:以树形结构展示,新增、删除、修改用不同颜色区分,可以直接看出哪个目录多了文件
- 三方合并:左中右三栏,中间是合并结果,冲突处手动点选采用哪一边,Git 合并冲突时特别好用
- 语法高亮:识别常见代码和配置文件格式,对比 JSON、YAML、Python 都清楚
- 过滤与忽略:可以忽略空白字符差异、忽略大小写,也能用正则过滤掉不想看的行
- 版本控制集成:可配置为 Git、SVN 的外部对比工具,
git difftool直接调起
实测体验
我拿两份约 3000 行的 Nginx 配置文件做对比,Meld 几乎是瞬间出结果,改动块用红色和绿色标出,右侧还有一块缩略导航条,能直接看到全文哪些位置有差异。
目录对比更能体现价值。我对比了两个各含两万多个文件的备份目录,扫描大概用了五六秒,之后树形列表清楚地标出:左边有 12 个文件是右边没有的,右边有 3 个是新增的。这种信息用 robocopy /L 也能拿到,但可读性差得远。
三方合并我试了一个 Git 冲突场景,左右两边各改了同一段配置,中间栏直接把冲突段标红,点两个箭头就能选用左边或右边,剩下没冲突的部分自动合并好。这个流程比在编辑器里手动删 <<<<<<< 标记舒服太多。
不足也很明显:Windows 版是基于 GTK 移植的,界面观感停留在 Linux 桌面风格,按钮偏小,高 DPI 屏上字号需要手动调。启动速度比原生 Windows 程序慢半拍。
适合谁
- 程序员:代码 review、合并冲突、比对两个版本的文件
- 运维:对比服务器配置、核对备份完整性
- 普通办公:对比合同修订版、核对两份表格的差异列
- 任何需要确认「到底改了什么」的人
需要注意的地方
- Windows 安装包大约 40–50 MB,因为打包了 GTK 运行时,比想象中大
- 界面是 Linux 风格,第一次用会觉得不太像 Windows 软件,功能没问题,观感需要适应
- 它是对比和查看工具,不是编辑器。虽然能在窗口里改内容,但复杂编辑还是建议配一个外部编辑器
- 超大二进制文件、视频文件不适合用它对比,会卡
- 三方合并对格式错乱的文件(比如压缩过的 JS)帮助有限
小结
Meld 属于那种「装完之后一年用不了几次,但每次用都省半小时」的工具。它不花哨,界面也不算好看,可文件对比这件事它做得又准又快,还免费开源、三大平台都有。如果你还在为「这两个版本哪里不一样」发愁,装一个 Meld,把两个文件拖进去就明白了。