Sublime Text原生不支持文件对比,需装正确插件并满足前置条件:两文件必须已保存、编码与换行符统一,右键菜单才显示对比选项;装错插件名或对未保存标签页操作会导致90%失败。

Sublime Text 原生不支持文件对比,装错插件或跳过前置条件,90% 的“对比失败”都发生在这两步。
为什么右键没出现 Diff 选项?检查文件状态和插件名
常见错误是误装了停更插件(比如搜 Diff 装了末尾没 y 的旧包),或对未保存的 untitled 标签页右键——FileDiffs 和 SublimeDiff 都不处理临时缓冲区,Diffy 则只认已打开的标签页或磁盘路径。
- 必须先保存两个文件,再右键:侧边栏文件、已打开标签页、或标签页右键菜单里才会有
Compare with File或Diff with Tab - 装插件时严格输入全名:
Diffy(不是Diff)、FileDiffs(不是FileDiff)、Compare Side-By-Side(注意连字符和大小写) - 装完不会弹窗提示,也不会在菜单栏新增项——它只加右键菜单和命令面板入口
对比结果中文乱码或空行错位?统一编码和换行符是硬前提
Diffy 和 FileDiffs 都不做编码转换,直接按 Sublime 当前加载的文本流比对。一个文件是 UTF-8 with BOM,另一个是 GBK,或一个用 CRLF、另一个用 LF,就会导致整段标红、行号偏移、中文显示为方块。
- 逐个打开两个文件,在右下角点击编码名 →
Reopen with Encoding→ 统一选UTF-8 - 再点右下角换行符标识(如
Windows (CRLF))→Convert Line Endings→ 统一选Unix (LF) - 保存后再对比;别指望插件自动识别 BOM 或猜编码——它连文件头都不读
想并排看差异?不能只靠插件,得手动拆分视图
FileDiffs 默认输出纯文本 diff 结果到新标签页,Diffy 默认新开只读标签页左右分栏但不联动滚动,Compare Side-By-Side 才是唯一开箱即用支持同步滚动+并排高亮的方案。
- 装完
Compare Side-By-Side后,确保两个文件都以独立标签页打开 - 快捷键:
Ctrl+Alt+C(Windows/Linux)或Cmd+Alt+C(macOS) - 若失效,右键任一标签页 →
Compare Side by Side;它会自动切为双栏并高亮差异行 - 不支持合并编辑,也不解析语法——缩进/空格/注释位置不同,一律算差异
大文件或长行卡顿?别硬刚,换策略
所有纯 Python 实现的插件(SublimeDiff、FileDiffs)在 >5MB 或单行超 200 字符时都会明显延迟,Diffy 调系统命令稍好,但 Windows 上 fc.exe 对 Unicode 支持弱,仍可能乱码。
- 超过 5000 行或含 base64/压缩 JSON 时,先切语法:
Ctrl+Shift+P→Set Syntax: Plain Text - 真要核对 Git 变更,不如终端执行:
git diff --no-index file1.js file2.js,结果粘进 Sublime 查看 - 日常校验字符串一致性(如 API 路径、常量名),用
Ctrl+Shift+F→Where填两个文件路径,比开 diff 插件更快
最易被忽略的是:所有插件都不处理未保存缓冲区、不自动统一编码、不忽略空格——这些不是 bug,是设计边界。你得自己把文件存好、转好编码、删好空格,再点对比。

















