30k+ Star的开源git diff分页工具,delta让终端diff也能高亮和并排显示
30k+ Star的开源git diff分页工具,delta让终端diff也能高亮和并排显示
delta 是一个用于 git、diff 和 grep 输出的语法高亮分页工具,在 GitHub 上获得了 30,867 个 Star。

日常工作里,diff 是开发者最常查看的内容之一。git diff 的默认输出只有红绿两色,呈现的信息有限。delta 把 diff 的输出体验提升了一个档次,给代码变更区域加上了语法高亮、行号、并排对比等功能。

delta 的核心思路是让 diff 输出更易读。它在默认 git diff 的基础上,增加了以下能力:
- 语法高亮,与 bat 使用相同的高亮主题,支持深色和浅色终端
- 词级别的差异高亮,基于 Levenshtein 编辑推理算法实现
- 并排视图,左右两栏对比变更前后代码,自动换行长行
- 行号显示
- 使用 n 和 N 键在 diff 区块之间快速跳转
- 改进的合并冲突展示
- git blame 输出增强,支持语法高亮和超链接格式
- 对 grep、rg 等搜索工具的输出去做语法高亮
- 支持 git 的 --color-moved 特性
- 代码可直接从 diff 中复制,默认移除 +/- 标记
- diff-highlight 和 diff-so-fancy 模拟模式
- 提交哈希可渲染为终端超链接
- 超过 20 个样式化要素支持前景色、背景色、字体属性自定义
安装 delta 后,在 ~/.gitconfig 中添加配置即可启用:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
dark = true
[merge]
conflictStyle = zdiff3
也可以通过命令行直接设置:
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.dark true
git config --global merge.conflictStyle zdiff3
在大多数包管理器中,包名为 “git-delta”,可执行文件是 delta。
delta 的语法高亮主题与 bat 共享,可以运行 delta --show-syntax-themes --dark 或 delta --show-syntax-themes --light 预览所有可用主题。
合并冲突展示是一个亮点。默认的冲突标记在多文件冲突时不容易分辨,delta 重新组织了冲突区域的视觉呈现,让三方合并的冲突来源更清晰。
对于 git blame 输出,delta 同样做语法高亮,并且支持将提交哈希格式化为托管平台(GitHub、GitLab、SourceHut、Codeberg)的超链接。
delta 还支持对 grep 类命令的输出做语法高亮。git grep、ripgrep 等工具的搜索结果经过 delta 处理后,匹配关键词和文件路径都有对应的着色。
delta 的功能很多,可以运行 delta -h 查看简要帮助,或者 delta --help 阅读完整手册。项目维护者是 @dandavison 和 @th1000s。
查看简要帮助,或者delta --help` 阅读完整手册。项目维护者是 @dandavison 和 @th1000s。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)