TL;DR — Quick Summary
Delta is a syntax-highlighting pager for git diff, grep, and blame. Side-by-side diffs, line numbers, navigate hunks, and beautiful themes in the terminal.
Delta transforms git diff output from a wall of unmarked text into syntax-highlighted, line-numbered, beautifully formatted code changes. Once configured, every git command that shows diffs automatically uses Delta.
Installation
# macOS
brew install git-delta
# Arch Linux
sudo pacman -S git-delta
# Cargo
cargo install git-delta
# Ubuntu/Debian
sudo apt install git-delta
# Verify
delta --version
Git Configuration
Add to ~/.gitconfig:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # Use n/N to navigate hunks
side-by-side = true # Side-by-side view
line-numbers = true # Show line numbers
syntax-theme = Dracula # Choose theme
[merge]
conflictstyle = zdiff3
Now all these commands use Delta automatically:
git diffgit log -pgit showgit blamegit stash show -p
Features
Side-by-Side Diffs
# Enabled in config, or per-command:
git diff --side-by-side
# or with alias:
git diff -s
Hunk Navigation
With navigate = true, use n to jump to next hunk and N for previous in the pager.
Syntax Themes
# List available themes
delta --list-syntax-themes
# Preview a theme
delta --syntax-theme="Monokai Extended" < /dev/null
# Popular themes: Dracula, Nord, Monokai Extended, GitHub, OneHalfDark
Diff-so-fancy Emulation
[delta]
minus-style = "syntax #450a15"
minus-emph-style = "syntax bold #6f1219"
plus-style = "syntax #0b4820"
plus-emph-style = "syntax bold #175c2e"
Comparison
| Feature | Delta | diff-so-fancy | colordiff | difftastic |
|---|---|---|---|---|
| Language | Rust | Perl | Perl | Rust |
| Syntax highlight | Yes | No | Basic | AST-based |
| Side-by-side | Yes | No | No | Yes |
| Line numbers | Yes | No | No | Yes |
| Themes | 30+ | 1 | 1 | 1 |
| Hunk navigation | Yes | No | No | No |
| Git integration | Native | Native | Pipe | Pipe |
| Blame support | Yes | No | No | No |
Summary
- Delta is a syntax-highlighting pager for git diff, log, show, blame, and grep
- One-time Git config change — all git commands automatically use Delta
- Side-by-side view, line numbers, hunk navigation, and 30+ themes
- Written in Rust for fast rendering of large diffs
- Works as a pager for any diff output via piping