sublime text 原生不支持文件对比,需依赖插件;compare side-by-side 是最稳的并排对比方案,安装时名称必须严格为“compare side-by-side”,且仅支持已保存、路径完整的独立标签页;编码不一致、缩进混用、换行符差异是导致误标主因。

Sublime Text 原生不支持文件对比,所有可用的差异高亮都依赖插件;装错插件、未保存文件、编码不一致,这三件事占了 90% 的“对比失败”原因。
Compare Side-By-Side 插件怎么装才不白忙
它是最稳的并排对比方案,但名字必须输对:Compare Side-By-Side(带连字符,末尾有 S),不是 Compare Side by Side 或 CompareSideBySide。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Package Control: Install Package,回车等待列表加载完成 - 在搜索框中严格输入
Compare Side-By-Side,点击安装(无需重启) - 验证是否成功:右键任意已打开的文件标签页,菜单里应出现
Compare Side by Side项
如果命令面板搜不到 Package Control: Install Package,说明 Package Control 损坏或未安装——先开控制台(Ctrl+`),粘贴官网安装代码重装,再重启 Sublime。
右键没出现对比选项?你可能根本没“真正打开”文件
Compare Side-By-Side 只认“已打开为独立标签页”的文件,不处理:
- 未保存的
Untitled标签页(状态栏无路径,只显示Untitled) - 同一文件的两个副本(比如分屏打开同一个
index.js) - 从命令行用
subl -n打开的空缓冲区
正确做法:
- 先双击侧边栏打开两个目标文件(确保每个标签页右下角显示完整路径,如
/project/src/config.json) - 右键任一标签页 → 选
Compare Side by Side(不是Compare with Tab) - 或直接用快捷键:
Ctrl+Alt+C(Windows/Linux)、Cmd+Alt+C(macOS)
为什么明明一样却整行标红?编码和格式陷阱最常被忽略
这个插件不做自动转换,也不忽略空白——快是优点,也是误判根源:
- 一边是
UTF-8 with BOM,另一边是纯UTF-8?第一行必全红 → 先点右下角编码名 →Reopen with Encoding → UTF-8,再保存 - 缩进混用
Tab和空格?每行都会标为差异 → 对比前按Ctrl+Shift+P→ 输入Convert Indentation to Spaces - 开了
Word Wrap?物理行号错位,同步滚动失效 →View → Word Wrap必须关掉 - 大文件(>5000 行或含长 base64 块)会卡顿 → 先切到
Plain Text语法模式(Ctrl+Shift+P→Set Syntax: Plain Text)
Diffy 插件适合什么场景?别用错时机
Diffy 是唯一能离线比磁盘文件的方案,但要求更严:
- 两个文件必须已保存,且路径得是绝对路径(Windows 含空格要加英文双引号:
"C:\proj\config.json" "D:\backup\config.json") - 右键侧边栏空白处 →
Diffy: Compare Files,不是右键文件标签 - 乱码?先手动
Reopen with Encoding再重试 - 静默失败?大概率路径不存在或拼写错误 → 建议先在终端跑
ls或dir验证
它不读 Git 状态、不支持未保存 buffer、不处理相对路径,但胜在结果稳定、可复现——适合核对备份、patch 或跨分支小文件。
真正卡住人的,从来不是插件装不上,而是对比结果里那些“空行、BOM、缩进多一个空格”引发的整行误标。校对前花 10 秒统一编码和缩进,比对着红块反复怀疑人生强得多。











