Atom需装split-diff插件实现并排比对,安装后须启用、确保双文件在不同tab打开、换行符一致、均已保存,Git比对需项目根目录含.git且Atom由此启动,可忽略空格干扰。

Atom 本身不带文件对比功能,必须装 split-diff 插件才能做并排比对;它比 diff-pane 更灵活,支持 Git 上下文、自动刷新、忽略空格等,但对换行符敏感,设置不对就全屏红绿块乱跳。
怎么装和启用 split-diff
打开 Atom → Settings → Install → 搜索 split-diff → 点 Install。安装完别急着用,先确认状态:
- 进
Settings → Packages,搜split-diff,看右边是否显示Enabled - 如果没启用,点右侧的
Enable按钮;若点不动,可能是 Atom 版本太老(split-diff要求 Atom ≥ 1.50) - 终端里也可以强制装:
apm install split-diff,失败时先跑apm upgrade
Ctrl+Alt+T 没反应?检查这三件事
快捷键失效不是 bug,基本是环境没对齐:
- 两个文件必须已在 Atom 中打开,且处于**不同 tab**(不能是同一个文件被复制粘贴到新 tab)
- 左右窗格的换行符设置要一致:进
Settings → Editor,关掉Soft Wrap,再手动设左右两边都为LF或都为CRLF(右下角状态栏能看到当前换行符) - 如果其中一个文件是
untitled(未保存),split-diff会直接拒绝——必须先Cmd+S/Ctrl+S保存成真实路径文件
Git 差异比对为什么右边总是空?
split-diff 在 Git 仓库里能自动识别“当前工作区 vs HEAD”,但前提是:
- 项目根目录下有
.git文件夹,且 Atom 是从该目录启动的(不是只打开了某个子文件) - 右侧窗格默认绑定的是
HEAD,不是暂存区;想比暂存区,得手动运行命令split-diff:compare-with-staged - 如果 Git 本身换行符混乱(比如 Windows 上
core.autocrlf=true导致 LF/CRLF 来回转),split-diff渲染出的差异会大面积误报——此时应先在终端执行git config --global core.autocrlf input统一策略
绿色/红色块看着怪?别忽略 Ignore Whitespace
默认开启的空格差异检测,会让缩进调整、末尾空格、tab/LF 混用全变成高亮,干扰逻辑变更识别:
- 进
Settings → Packages → split-diff → Settings,勾选Ignore Whitespace - 如需更细粒度控制,可在
keymap.cson里加自定义快捷键,例如:'atom-text-editor[data-grammar="source.js"]': 'ctrl-alt-w': 'split-diff:toggle-ignore-whitespace'
- 注意:此选项只影响视觉高亮,不改变底层 diff 计算逻辑;若需彻底过滤空格行,得配合
git diff -w外部调用
真正麻烦的从来不是怎么打开对比,而是两个文件看似一样却比不出差异——八成是路径重复、换行符错位、或 Git 配置搅局。动手前先看右下角状态栏的路径和换行符标识,比反复按 Ctrl+Alt+T 有用得多。










