Split-Diff 是 Atom 中开箱即用的并排文件对比插件,支持手动比对两文件或 Git 上下文(如工作区 vs 暂存区),左右窗格可编辑;需先分屏再按 Ctrl+Alt+T 触发,且依赖 .git 目录启用 Git 模式。

用 split-diff 插件做并排文件对比
split-diff 是目前 Atom 中最接近“开箱即用”的真·文件对比方案,支持手动选两个文件、也支持 Git 上下文自动比对(比如工作区 vs 暂存区),而且左右窗格可编辑——这点 diff-pane 做不到。
实操步骤很直接:
- 先装插件:
apm install split-diff或在 Settings → Install 里搜安装 - 打开两个待比对的文件,并确保它们分属不同窗格:右键任一 tab →
Split Right或Split Down,再把第二个文件拖进新窗格 - 按默认快捷键
Ctrl+Alt+T(Windows/Linux)或Cmd+Alt+T(macOS)触发split-diff:toggle - 注意检查两侧编辑器的换行符设置是否一致(
Editor → Soft Wrap关掉;Editor → Line Endings统一为LF或CRLF),否则大量红块误报
常见坑:如果只开了一个 tab 就按快捷键,split-diff 会静默失败——它不帮你新开窗格,必须你先手动分窗。另外,它依赖项目根目录有 .git 才能启用 Git 模式,纯文件夹里只能手动比。
查 Git 提交记录和行级修改归属
Atom 查提交历史不靠菜单,靠 github 插件驱动的右侧面板;查某一行是谁改的,也不能点一下就出弹窗,得明确触发 Git: Blame。
关键操作链:
- 确认
github插件已启用(Settings → Packages →github状态为 Enabled) - 按
Ctrl+Shift+P输入GitHub: Toggle Git Tab,右侧出现面板后,顶部显示当前分支,下方是倒序提交列表 - 在已打开的源文件中右键 →
Git: Blame,左侧边栏立刻显示每行对应的 commit 哈希、作者、时间 - 若想查某几行的具体变更内容,终端里运行
git blame -L 123,125 src/index.js,比 GUI 更准,且支持-C追踪重命名
注意:github 面板不会自动 fetch 远程提交,新 push 的记录要手动点右上角 Sync 按钮,或者执行 git fetch。中文乱码或时间错位基本是 Git 全局配置问题,不是 Atom 的锅。
恢复误删代码:别指望 timecop 实时回滚
timecop 不是 undo 栈,它只保存你每次 core:save 后的完整文件快照,未保存就关掉的编辑内容它完全不知道。
所以真正能救你的场景很有限:
- 文件已保存过,但最近一次保存后又删了几行 →
Ctrl+Shift+P→Timecop: View,选一个早于删除操作的时间点,点击即可还原整份文件 - 想对比两个快照差异?不行,
timecop不提供 diff 视图,只能来回切换看 - 历史保留天数默认是 7 天,如需延长,在
config.cson加:"*":<br> timecop:<br> historyRetentionDays: 30
最常被忽略的一点:timecop 记录的是“保存时刻”,不是“编辑时刻”。中间反复删改但没保存,那些中间态全丢了——Atom 没有内存快照机制,这点和 VS Code 的 Timeline 完全不同。
为什么 git-diff 和 git-gutter 不适合文件级对比
git-diff 和 git-gutter 是为“当前文件 vs Git 历史”设计的,不是为任意两个文件服务的。它们压根不接受用户指定第二个文件路径。
典型误用现象:
- 装了
git-diff后右键只有Git Diff: Show Diff,点了只显示当前文件和 HEAD 的差异,和你想比的config.old.json毫无关系 -
git-gutter只在行号旁画小图标,告诉你“这行改了”,但不告诉你“改成什么样了”,更无法呈现两份独立文件的结构差异 - 大文件(>3000 行)上开启
git-gutter明显卡顿,因为它是逐行计算 AST 无关的变更标记,CPU 负载高
结论很实在:需要比两个任意文件,用 split-diff;只想盯住自己这次改了哪几行,git-gutter 够用;想看 Git 历史脉络,靠 github 面板 + 终端 git log 组合。混着用可以,但别指望一个插件包打天下。










