关于 delta
Delta 为 Git diff、blame 和 grep 输出提供彩色语法高亮显示。它可作为 Git 的分页工具集成,也可直接比较两个文件。输出更具可读性,便于代码审查和快速浏览变更。
主要功能
- 01高亮显示 diff、blame 和 grep 输出中的语法
- 02将 diff 块分组并折叠长文件
- 03集成 Git 作为默认分页工具
适用场景
- 01在代码审查期间快速理解大型变更
- 02处理版本控制的复杂 diff 输出
- 03改进终端中的文件差异比较可读性
安装
选择你的系统或包管理器,复制命令到终端运行。
$
安装完成后运行delta --version确认安装成功。
命令示例
常用命令按使用顺序排列。
01
02
详细介绍
快速开始
安装(大多数包管理器中的软件包名为 "git-delta",但可执行文件名为 delta),然后将以下内容添加到 ~/.gitconfig:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
dark = true # or light = true, or omit for auto-detection
[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 # or `delta.light true`, or omit for auto-detection
git config --global merge.conflictStyle zdiff3
Delta 功能丰富且高度可定制;请参阅 delta -h(简短帮助)或 delta --help(完整手册),也可以查看在线用户手册。
功能
- 支持语言语法高亮,使用与 bat 相同的语法高亮主题
- 使用 Levenshtein 编辑推断算法进行单词级差异高亮
- 支持并排视图和自动换行
- 行号显示
- 使用
n和N键绑定在大型差异中的文件之间,以及在log -p视图中的差异之间移动(--navigate) - 改进的合并冲突显示
- 改进的
git blame显示(语法高亮;--hyperlinks会将提交格式化为指向代码托管服务提供商的链接等。支持的代码托管服务提供商包括:GitHub、GitLab、SourceHut、Codeberg) - 对
rg、git grep、grep等命令的 grep 输出进行语法高亮 - 支持 Git 的
--color-moved功能。 - 可直接从差异中复制代码(默认移除
-/+标记)。 diff-highlight和diff-so-fancy模拟模式- 可将提交哈希格式化为指向代码托管服务提供商页面的终端超链接(
--hyperlinks)。 文件路径也可以格式化为超链接,以便在操作系统中打开。 - 可设置样式的框线/线条装饰,用于突出显示提交、文件和代码块标题区域。
- 超过 20 个可设置样式的元素支持样式字符串(前景色、背景色、字体属性),使用与 git 相同的颜色/样式语法
- 除 git 输出外,还支持传统的统一差异输出
- 自动检测终端背景为浅色还是深色
用于 git、diff 和 grep 输出的语法高亮分页器
代码不断演进,我们都需要花时间研究差异。Delta 旨在让这一过程既高效又愉快:它支持全面调整差异的布局和样式,也能让你任意选择与默认的 git/diff 输出保持多接近。
已启用 |
已启用 |
将 git 配置为使用 delta 后,git show 的效果如下:
|
|
| “Dracula” 主题 | “GitHub” 主题 |
语法高亮主题
bat 提供的所有语法高亮配色主题,delta 均可使用:
|
|
delta --show-syntax-themes --dark
|
delta --show-syntax-themes --light
|
并排视图
[用户手册]
[delta]
side-by-side = true
默认情况下,并排视图会启用行号,并在左右面板中进行语法高亮:[配置]
![]() |
并排视图会自动换行显示过长的行:
![]() |
行号
[用户手册]
[delta]
line-numbers = true
![]() |
合并冲突
[用户手册]
![]() |
Git blame
[用户手册]
![]() |
|
|
Installation and usage
Please see the user manual and delta --help.
Maintainers
评论
支持 Markdown


