Sublime Text原生不支持文件对比,需安装Compare Side-By-Side插件;必须严格输入全名“Compare Side-By-Side”(带空格、连字符、末尾有S),且两文件须为已保存、路径不同、编码(UTF-8)、换行符(LF)、缩进统一的独立标签页,否则易全红或无响应。

Sublime Text 原生不支持文件级差异对比,所有可用的并排比对、行级高亮、同步滚动能力都依赖插件;装错名字、文件没真正保存、编码或换行符不一致——这三件事占了 90% 的“点不动”“全红”“没反应”原因。
Compare Side-By-Side 插件怎么装才真能用
它是目前唯一能稳定对比未保存 buffer、无需外部命令、开箱即用的方案,但安装必须严丝合缝:
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车 - 等列表完全加载完(别手快输一半),再严格输入
Compare Side-By-Side(带空格、带连字符、末尾有S) - 装完不用重启,但右键菜单只出现在「已打开的独立标签页」上——不是侧边栏、不是未保存的
Untitled-1、也不是同一文件拖拽分屏出来的副本
为什么点了 Compare Side by Side 却全红/没反应
它不自动归一化格式,只比 Sublime 当前加载进内存的原始字节流,常见卡点全是隐形陷阱:
- 两个标签页路径相同(比如左右都是
index.js)→ 拒绝对比,必须是不同磁盘路径的文件 - 状态栏显示
untitled或Untitled-1→ 即使刚按过Ctrl+S,也得再点一次标签页激活,让路径“落地” - 一边是
UTF-8 with BOM,另一边是纯UTF-8→ 第一行整行标红;解决:右下角点编码名 →Reopen with Encoding→ 选UTF-8,再保存 -
View → Word Wrap开着 → 物理行号错乱,同步滚动失效;对比时务必关掉
大文件卡死或想快速核对关键字符串怎么办
超过 5000 行或含长 base64 块时,Compare Side-By-Side 渲染会冻结 UI,这不是 bug,是纯 Python 实现的合理限制:
- 先按
Ctrl+Shift+P输入Set Syntax: Plain Text切到纯文本模式(关掉语法高亮和折叠) - 再执行
Ctrl+Alt+C(Win/Linux)或Cmd+Alt+C(macOS)启动对比 - 如果仍卡顿,改用终端:
diff -u file1.json file2.json,把输出粘进新标签页看 - 只关心某个函数名、API 路径是否一致?用
Ctrl+Shift+F全局搜索:Where栏填两个文件绝对路径(英文逗号分隔),Find栏输关键词,勾选Match Case和Whole Word
真正容易被忽略的是换行符——\r\n 和 \n 混用会让空行位置偏移,导致后续所有行错位;这不是插件问题,是文本底层格式冲突,必须手动统一。

















