为 git、diff、grep 和 blame 输出提供语法高亮的分页器,可直接替换 git 默认分页工具。
banga/git-split-diffs
在终端中以 GitHub 风格并排显示带语法高亮的 git diff。
- Star
- 2,745
- Fork
- 51
- 未关闭 Issue
- 14
- 最近提交
- 27天前
这是什么?
git-split-diffs 是一个 git 分页过滤工具,可将统一格式的 diff 转换为类似 GitHub 的并排视图,左右分别显示修改前后的内容。它可以设为 git 的 core.pager,使 git diff、git log -p 等命令自动使用;也可以手动通过管道接收 git diff 的输出。
语法高亮基于 shiki 实现,使用与 VS Code 相同的语法文法和主题。行内的具体改动默认也会被高亮标出。内置多套主题,包括 GitHub Light、GitHub Dark (Dim)、Solarized、基于 Nord 的 Arctic 以及单色主题,也支持从本地目录加载自定义主题。
输出会根据终端宽度调整:默认自动换行;当终端宽度不足以容纳两列最小行宽时,则回退为统一格式的 diff。
核心功能
- 01GitHub 风格的并排 diff,可直接作为 git 的 core.pager 使用。
- 02基于 shiki 的语法高亮,沿用 VS Code 的语法文法和主题。
- 03高亮行内具体改动的单词,可通过配置关闭。
- 04内置多套主题,并支持加载自定义主题文件。
- 05窄终端下自动回退为统一格式的 diff。
适用场景
- 在终端中查看 git diff 和 git log -p 的输出,以更易读的并排形式对比改动。
- 通过 git 配置为个人或团队统一更易读的默认 diff 显示方式。
- 在没有图形界面的环境中,通过 SSH 在终端里浏览代码历史变更。
快速上手
- 1
使用 npm 全局安装
npm install -g git-split-diffs - 2
配置 git 使用它作为分页器
git config --global core.pager "git-split-diffs --color | less -RFX"
使用前须知
- 需要 Node.js 14 或更高版本。
- 默认情况下,终端宽度小于 160 字符时会退回为统一格式的 diff。
收录于专题
标签
常见问题
- git-split-diffs 是什么?
- 在终端中以 GitHub 风格并排显示带语法高亮的 git diff。 git-split-diffs 是一个 git 分页过滤工具,可将统一格式的 diff 转换为类似 GitHub 的并排视图,左右分别显示修改前后的内容。它可以设为 git 的 core.pager,使 git diff、git log -p 等命令自动使用;也可以手动通过管道接收 git diff 的输出。
- git-split-diffs 可以免费使用吗?用的什么许可证?
- git-split-diffs 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- git-split-diffs 还在维护吗?
- 活跃维护中。git-split-diffs 最近一次提交是在 2026年10月11日。
- git-split-diffs 适合用来做什么?
- 在终端中查看 git diff 和 git log -p 的输出,以更易读的并排形式对比改动。 通过 git 配置为个人或团队统一更易读的默认 diff 显示方式。 在没有图形界面的环境中,通过 SSH 在终端里浏览代码历史变更。
- git-split-diffs 怎么安装和运行?
- 使用 npm 全局安装: npm install -g git-split-diffs 配置 git 使用它作为分页器: git config --global core.pager "git-split-diffs --color | less -RFX"
- 在哪里获取 git-split-diffs?
- 源代码和安装说明在 GitHub 上:https://github.com/banga/git-split-diffs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3.3万+66 本周616RustMIT更新于 10天前
用 Rust 编写的内容感知比对工具,基于 tree-sitter 做代码结构化比对,也能比对图片、字体、压缩包和 PDF。
1168+361 本周28RustOther更新于 20小时前
面向终端的交互式代码差异查看器,支持 Git、Jujutsu、Sapling 和 GitHub PR,并可显示 AI 代理批注。
9782326TypeScriptMIT维护活跃更新于 21小时前
一个命令行工具,在本地启动类 GitHub 风格的网页界面,用于查看和评审 Git 提交差异,评论可复制为 AI 提示词。
3318+16 本周216TypeScriptMIT维护活跃更新于 2个月前
一个带语法高亮和 Git 修改标记的终端 cat 替代工具。
6.1万+165 本周3058RustApache-2.0维护活跃更新于 20小时前