SublimeFileDiffs是冷门但关键的备选插件,因其支持剪贴板对比、无需保存、自动标准化换行符/BOM/尾部空格,且不依赖外部工具;安装须严格输入“FileDiffs”,仅对已保存文件生效,比对前需确保编码、换行符、缩进统一。

Sublime Text 原生不支持代码对比,所谓“冷门但超实用”的插件,其实是指 SublimeFileDiffs —— 它不是最常被推荐的那几个,但在特定场景下(比如比对剪贴板内容、绕过保存限制、自动标准化格式)确实比 Compare Side-By-Side 和 Diffy 更可靠。
为什么 SublimeFileDiffs 是真·冷门但关键的备选
它不靠“两个已打开标签页”这种强前提,也不依赖外部 diff 工具,而是直接接入 Sublime 的剪贴板 API 和文件系统接口。尤其当你需要快速验证“刚从邮件/Slack 复制的配置 vs 当前文件”,或“临时改了一半还没保存的代码 vs 上一版备份”,SublimeFileDiffs 能跳过保存、编码手动转换、路径校验等步骤,直接比。
- 右键任意已打开文件 →
FileDiffs: Compare with Clipboard,立刻出结果 - 它会在比对前自动 strip 尾部空格、统一换行符为
\n、忽略 BOM,避免因格式噪音误标整行 - 不卡大文件:底层用 Python 的
difflib,非渲染式输出,10MB+ 的 JSON 或日志也能秒出差异行号 - 和
Compare Side-By-Side互补:后者适合长期维护的并排视图,前者适合“一次性的、轻量级的、带脏数据的”校验
SublimeFileDiffs 安装和启用必须踩准的点
名字必须输全且大小写敏感:FileDiffs(末尾 s 不可少),搜 FileDiff 或 filediffs 都会装错版本,导致右键菜单不出现。
- 安装后无需重启,但右键菜单只在「已保存文件」的标签页上生效(状态栏显示完整路径,如
/project/src/env.example) - 如果右键没选项,先检查 Package Control 是否正常:按
Ctrl+Shift+P→ 输入Package Control: Install Package,若报错则需重装 - 对比剪贴板时,确保剪贴板里是纯文本;含富文本(如 Outlook 自动加的样式)会导致解析失败,可先粘贴到 Notepad 再复制一次
对比结果全是红块?别急着信,先看这三处
SublimeFileDiffs 不做语法感知,只做行级字节比对,所以“看起来一样却标红”大概率是隐性格式差异。
- 一边是
UTF-8 with BOM,另一边是UTF-8→ 首行开头多出\ufeff字符,整行标红;解决:右下角点击编码名 →Reopen with Encoding→UTF-8,再保存 - 换行符混用:
\r\nvs\n→ 空行位置偏移,导致后续所有行错位;解决:右下角点击换行符标识 → 统一选Unix (LF) - 缩进不一致:Tab 和空格混用 → 每行 hash 值不同,全标为修改;解决:按
Ctrl+Shift+P→ 输入Convert Indentation to Spaces或Convert Indentation to Tabs,统一后再比
真正难处理的不是怎么启动对比,而是怎么判断哪些红块该忽略——SublimeFileDiffs 不会告诉你“这只是注释换行”,它只回答“这两行字符串不相等”。你得自己决定:这是格式问题,还是逻辑变更。


















