FileDiffs是Sublime Text首选文件对比插件,需通过Package Control严格输入“FileDiffs”安装;仅支持已保存文件,要求编码、换行符、缩进统一,并手动分栏操作才能并排对比。

Sublime Text 原生不支持文件对比,必须装插件;FileDiffs 是目前最稳定、兼容 ST3/ST4、维护活跃的首选方案,但只对已保存文件生效,未保存的 untitled 标签页右键根本不会出现对比选项。
怎么装 FileDiffs?Package Control 装错或失效就白忙
装不上不是因为你手速慢,大概率是 Package Control 没跑起来。先验证它是否正常:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车——如果报 “command not found”,说明Package Control损坏或没装 - 重装方式:打开
View → Show Console(Ctrl+`),粘贴官网提供的 Python 安装代码,回车执行 - 重启 Sublime 后再试一次
Package Control: Install Package,等列表加载完,**严格输入FileDiffs(末尾带 s,大小写敏感)**,别输成FileDiff或FileDifferences - 装完不弹窗、不提示、也不用重启——但右键菜单里会立刻多出
FileDiffs子项
右键没反应?你可能还没“真正打开”这两个文件
FileDiffs 不处理临时缓冲区,只认有真实路径的已保存文件。常见卡点:
- 两个标签页都得是磁盘上的文件,状态栏显示完整路径(如
/project/src/config.json),而不是untitled或Untitled-1 - 不能是同一文件的两个副本(比如分屏打开同一个
index.js),必须是两个不同路径的文件 - 侧边栏右键无效——Sublime 的上下文菜单只响应“当前焦点所在视图”,不是“鼠标悬停位置”。得先点击任一已打开的文件标签,让它成为活动视图,再右键
- 如果右键菜单里只有灰色不可点的
Diff with saved,说明当前文件还没存盘,先按Ctrl+S保存
对比结果乱码、错行、整行标红?编码和换行符在捣鬼
FileDiffs 不做编码转换,它按 Sublime 当前加载进来的文本流直接比对。中文乱码、空行偏移、大量误标差异,90% 是这个原因:
- 统一编码:分别打开两个文件,右下角点击编码名(如
UTF-8 with BOM),选Reopen with Encoding → UTF-8(去掉 BOM) - 统一换行符:右下角点开
Line Endings(如显示Windows (CRLF)),选Convert Line Endings → Unix (LF) - 行尾空格也会被标为差异——开启
draw_white_space设置可肉眼识别,避免误判 - YAML/Markdown 等缩进敏感格式,建议对比前先用
Convert Indent to Spaces统一对齐
想并排看?FileDiffs 默认不并排,得手动拆分+拖拽
FileDiffs 默认把差异输出到新标签页(纯文本 diff 格式),不是左右分栏视图。要并排对比,必须主动操作:
- 先用
Ctrl+K, Ctrl+2(Windows/Linux)或Cmd+K, Cmd+2(macOS)把窗口切为双栏 - 把两个待比文件分别拖进左、右栏(确保它们都已激活)
- 在左栏文件上右键 →
FileDiffs: Compare Current File with Other File,选右栏那个文件 - diff 结果会新开一个标签页,把它拖进右栏即可——别指望自动完成这步,Sublime 不会猜你想怎么布局
真正麻烦的从来不是装插件,而是每次对比前都要确认:文件是否已保存、编码是否一致、换行符是否统一、当前焦点是否在正确标签页——漏掉任意一项,FileDiffs 就静默失败,连错误提示都不会给。











