FileDiffs 是 Sublime Text 中最轻量可靠的双文件文本对比插件,需通过 Package Control 安装,支持已打开文件、剪贴板及侧边栏单文件对比,不依赖 Git,不处理历史版本,仅专注纯文本差异比对。

直接装,别犹豫:FileDiffs 用 Package Control 一键安装最稳
Sublime Text 没有原生好用的双文件对比功能,FileDiffs 是目前最轻量、最可靠的选择。它不依赖 Git,不读取历史,只专注“两个文本内容哪里不一样”——这正是你点开这篇文章想解决的问题。
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入并选择:
Package Control: Install Package - 搜索
FileDiffs,回车安装 - 安装完成后无需重启,立刻可用
⚠️ 别手动克隆仓库(比如用 git clone https://gitcode.com/gh_mirrors/su/SublimeFileDiffs),除非你明确要改源码。Package Control 自动处理路径、依赖和更新,手动装反而容易因 Packages 目录位置错乱导致插件不加载。
对比两个已打开文件:右键菜单 or 快捷键,选一个顺手的
装完插件后,你有两种主流方式触发对比,本质一样,但触发场景不同:
-
右键菜单:在标签页上右键 → 选
FileDiffs: Compare(要求两个文件都已打开) -
快捷键:默认没绑定,需手动加。打开
Preferences → Key Bindings(用户侧),添加:
[
{ "keys": ["ctrl+shift+d"], "command": "file_diff_menu" }
]
按 Ctrl+Shift+D 后弹出菜单,可选“当前文件 vs 另一个已打开文件”“vs 剪贴板”“vs 侧边栏选中文件”等。注意:如果侧边栏选了两个文件却没反应,大概率是路径含中文或空格——这是 FileDiffs 的 shell 调用限制,临时解法是把项目移到 C:/dev/ 或 /home/user/project 这类纯英文路径下。
对比未打开的文件?得靠 SideBarEnhancements 配合
FileDiffs 本身不支持“在侧边栏直接右键两个未打开文件 → 对比”,这是常见误解。它只处理已加载进 Sublime 缓冲区的内容(即已打开的文件或剪贴板文本)。
- 真正实现“侧边栏双击对比”,需要额外装
SideBarEnhancements - 装好后,在侧边栏按住
Ctrl(Windows/Linux)或Cmd(macOS),点击选中两个文件 → 右键 →Diff with each other - 该操作底层仍是调用
FileDiffs,所以编码必须一致:若一个文件是UTF-8 with BOM,另一个是UTF-8,会静默失败并报UnicodeDecodeError,无提示。解决方法:用 Sublime 打开报错文件 →File → Save with Encoding → UTF-8
别指望它查 Git 历史:FileDiffs ≠ Git History
很多人装完就问:“为什么看不到 commit 时间、作者、上次改了哪几行?”——因为 FileDiffs 根本不碰 .git 目录。它就是一个纯文本比对器,连换行符和末尾空格都算差异。
- 你要查“这个文件从第一次提交到现在改过哪些版本”,必须用
Git History插件 - 你要比“当前写的代码 vs 昨天备份的
main_v2.py”,才轮到FileDiffs出场 - 它输出的 diff 结果里没有
commit hash、没有Author、没有Date,只有@@ -10,5 +10,6 @@这种原始行号标记
如果你实际需求是看 Git 差异,现在就停手,去装 Git History;如果只是确认两份副本内容是否一致,那 FileDiffs 已经在你键盘上了——按 Ctrl+Shift+D,选,看,关掉,继续写代码。










