dandavison/delta
GitHub: dandavison/delta
一款为 git、diff、grep 和 blame 输出提供语法高亮和增强排版的终端分页器。
Stars: 29369 | Forks: 473
## 入门指南
[安装它](https://dandavison.github.io/delta/installation.html)(该包在大多数包管理器中被称为 "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 merge.conflictStyle zdiff3
```
Delta 拥有许多功能且高度可定制;请参阅 `delta -h`(简短帮助)或 `delta --help`(完整手册),或查看[在线用户手册](https://dandavison.github.io/delta/)。
## 功能特性
- 语言语法高亮,使用与 [bat](https://github.com/sharkdp/bat#readme) 相同的语法高亮主题
- 使用 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` 仿真模式
- 提交哈希可以格式化为指向托管服务商页面的终端[超链接](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) (`--hyperlinks`)。
文件路径也可以格式化为超链接,以便在操作系统中打开。
- 可设置样式的方框/线条装饰,用于吸引对提交、文件和 Hunk 头部区域的注意。
- 支持超过 20 个可设置样式的元素的样式字符串(前景色、背景色、字体属性),使用与 git 相同的颜色/样式语言
- 除了 git 输出外,还处理传统的统一差异输出
- 自动检测浅色/深色终端背景
## 用于 git、diff 和 grep 输出的语法高亮分页器
代码在不断演进,我们都会花时间研究差异。Delta 旨在让这一过程既高效又愉快:它允许你对差异的布局和样式进行广泛的更改,同时也允许你保持任意接近默认的 git/diff 输出。
delta with line-numbers activated
|
delta with side-by-side and line-numbers activated
|
如果在 git 中配置使用 delta,`git show` 的效果如下:
|
|
|
"Dracula" theme
|
"GitHub" theme
|
### 语法高亮主题
**所有 [bat](https://github.com/sharkdp/bat/) 可用的语法高亮颜色主题都可在 delta 中使用:**
|
|
delta --show-syntax-themes --dark
|
delta --show-syntax-themes --light
|
### 并排视图
[[用户手册](https://dandavison.github.io/delta/side-by-side-view.html)]
```
[delta]
side-by-side = true
```
默认情况下,并排视图会激活行号,并且左右面板都会进行语法高亮:[[配置](#side-by-side-view-1)]
并排视图会自动换行:
### 行号
[[用户手册](https://dandavison.github.io/delta/line-numbers.html)]
```
[delta]
line-numbers = true
```
### 合并冲突
[[用户手册](https://dandavison.github.io/delta/merge-conflicts.html)]
### Git blame
[[用户手册](https://dandavison.github.io/delta/git-blame.html)]
### Ripgrep, git grep
[[用户手册](https://dandavison.github.io/delta/grep.html)]
### 安装与使用
请参阅[用户手册](https://dandavison.github.io/delta/)和 `delta --help`。
### 维护者
- [@dandavison](https://github.com/dandavison)
- [@th1000s](https://github.com/th1000s)
标签:Diff查看器, Git, Rust, 代码分析, 代码审查, 代码美化, 凭证管理, 分页器, 可视化界面, 威胁情报, 安全可观测性, 差异比较, 开发者工具, 版本控制, 终端, 网络流量审计, 语法高亮, 通知系统