Sublime Text原生不支持文件对比,最稳方案是安装Compare Side-By-Side插件并排对比两个已打开的独立标签页;必须严格输入全名“Compare Side-By-Side”安装,且确保两文件编码、缩进、换行符统一,否则易误判。

Sublime Text 原生不支持文件对比,装错插件、没打开文件、编码不一致,这三件事占了 90% 的“对比失败”原因。直接上最稳的方案:用 Compare Side-By-Side 插件并排看两个已打开的标签页——它不依赖保存、不调外部命令、不卡死,但对前置状态有硬性要求。
怎么装对 Compare Side-By-Side 插件
搜错名字就装成废弃分支或旧版,导致右键菜单不出现、快捷键无效。
- 必须严格输入
Compare Side-By-Side(带空格 + 连字符,末尾无s);搜CompareSideBySide或Compare Side by Side都会失败 - 先确认
Package Control活着:按Ctrl+Shift+P→ 输入Package Control: Install Package,若报错则需重装控制台 - 安装后无需重启,但右键菜单只在「已打开的独立标签页」上生效——不是侧边栏、不是编辑区空白处、也不是未保存的
Untitled-1
为什么右键点了却没反应或全是红块
不是插件坏了,是两个文件底层格式不一致,Compare Side-By-Side 不做任何自动归一化。
- 一边是
UTF-8 with BOM,另一边是纯UTF-8?第一行必然全红 → 右下角点编码名 →Reopen with Encoding → UTF-8(去掉 BOM) - 缩进混用
Tab和空格?每行都标为差异 →View → Indentation → Convert Indentation to Spaces - 换行符不同(
CRLFvsLF)?空行错位 → 右下角点Line Endings→ 统一选Convert to Unix (LF) - 开了自动换行(
Word Wrap)?会导致同步滚动失效 → 对比前务必关掉
Compare Side-By-Side 能做什么、不能做什么
它只解决“两个已打开文件的静态文本差异”,快而轻,但也因此有明确边界。
- ✅ 支持未保存 buffer、支持
.json/.yml/.env等纯文本、左右栏同步滚动(按逻辑行,非硬行号对齐) - ❌ 不识别 Git 状态,无法对比“当前 vs HEAD”或“vs 上次提交”;不支持三路对比;不提供复制/合并按钮
- ❌ 不忽略空白、不忽略大小写、不处理制表符展开逻辑;YAML/Markdown 类缩进敏感格式,务必提前统一缩进
- ❌ 关闭任一窗格后,布局不会自动还原 → 右键窗格 →
Reset View才能恢复单列
真正卡住人的从来不是怎么装插件,而是对比结果里那些“明明一样却标红”的 BOM、空格、换行符——它们藏在状态栏右下角,不点开就不会暴露。


















