compare side-by-side 是 sublime text 中唯一能稳定对比未保存缓冲区的插件,不依赖外部命令、不解析语法、不强制保存;需确保两标签页均被激活、编码一致(推荐 utf-8)、换行符统一为 lf;大文件可切纯文本模式或改用终端 diff;仅查字符串差异时优先用 ctrl+shift+f 全局搜索。

Compare Side-By-Side 插件为什么是首选
它不依赖外部命令、不解析语法、不强制保存,只要两个文件已打开为标签页,就能立刻启动并排对比——这是目前 Sublime Text 中唯一能稳定处理 unsaved buffer 的方案。其他插件如 Diffy 或 SublimeDiff 都会拒绝未保存的临时标签页,而日常改配置、调参数时,你经常要对比“刚改了一半的 .env 和原始模板”,这时候卡住就真没法推进了。
安装后右键没反应?先检查这三个点
常见失败不是插件坏了,而是触发条件没满足:
- 两个文件必须都已“激活过”:哪怕只是点一下标签页让它获得焦点,否则插件会跳过该标签
- 编码必须一致:比如一边是
UTF-8 with BOM,另一边是纯UTF-8,会导致首行全红、空行错位;统一方法是右键状态栏右下角编码名 →Reopen with Encoding→ 选UTF-8 - 换行符最好都是
LF:Windows 默认用CRLF,和 macOS/Linux 混用时可能造成整行偏移;可在状态栏点击换行符标识,统一改为Unix (LF)
大文件卡死怎么办
超过 5000 行或某行含超长 base64 字符串时,Compare Side-By-Side 渲染会冻结 UI。这不是 bug,是纯 Python 实现的合理限制:
- 先按
Ctrl+Shift+P输入Set Syntax: Plain Text切到纯文本模式(关掉语法高亮和折叠逻辑) - 再执行
Ctrl+Alt+C启动对比 - 如果仍卡顿,说明文件确实太大,建议改用终端:
diff -u file1.json file2.json,把输出粘进新标签页看
不用插件也能快速核对关键字符串
如果你只关心某个函数名、API 路径、正则表达式是否完全一致,根本不用开 diff 窗口:
- 快捷键
Ctrl+Shift+F(Win/Linux)或Cmd+Shift+F(macOS)打开全局搜索 -
Where栏填两个文件绝对路径,英文逗号分隔:/a/config.yml,/b/config.yml -
Find栏输入你要查的字符串,务必勾选Match Case和Whole Word - 结果按文件分组列出匹配行,哪边漏了、哪边多空格/引号,一眼可见
这个操作绕过了所有渲染逻辑,不受文件大小、编码、语法高亮影响,是排查拼写错误和配置遗漏的第一步。真正需要视觉比对结构差异时,再切回 Compare Side-By-Side ——别一上来就开重武器。











