dandavison/delta

GitHub: dandavison/delta

一款为 git、diff、grep 和 blame 输出提供语法高亮和增强排版的终端分页器。

Stars: 29369 | Forks: 473

image

CI Coverage Status Gitter

## 入门指南 [安装它](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 输出。
image

delta with line-numbers activated

image

delta with side-by-side and line-numbers activated

如果在 git 中配置使用 delta,`git show` 的效果如下:
image image
"Dracula" theme "GitHub" theme


### 语法高亮主题 **所有 [bat](https://github.com/sharkdp/bat/) 可用的语法高亮颜色主题都可在 delta 中使用:**
image image
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)]
image
并排视图会自动换行:
image
### 行号 [[用户手册](https://dandavison.github.io/delta/line-numbers.html)] ``` [delta] line-numbers = true ```
image
### 合并冲突 [[用户手册](https://dandavison.github.io/delta/merge-conflicts.html)]
image
### Git blame [[用户手册](https://dandavison.github.io/delta/git-blame.html)]
image
### Ripgrep, git grep [[用户手册](https://dandavison.github.io/delta/grep.html)]
image
### 安装与使用 请参阅[用户手册](https://dandavison.github.io/delta/)和 `delta --help`。 ### 维护者 - [@dandavison](https://github.com/dandavison) - [@th1000s](https://github.com/th1000s)
标签:Diff查看器, Git, Rust, 代码分析, 代码审查, 代码美化, 凭证管理, 分页器, 可视化界面, 威胁情报, 安全可观测性, 差异比较, 开发者工具, 版本控制, 终端, 网络流量审计, 语法高亮, 通知系统