Configuration
Git config file
Delta uses git config (~/.gitconfig
) for its configuration. Here's an example:
[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
You do not even need to use git -- delta accepts git diff
and unified diff formats and hence works with e.g. mercurial and jujutsu -- but you do need to use the git config format.
If you want to store your delta config at a different location, use [git docs]
export GIT_CONFIG_GLOBAL=/path/to/my/delta/config
If you want to keep your delta and git config separate, use [git docs]
[include]
path = ~/src/devenv/dotfiles/delta/delta.gitconfig
Use delta --help
to see all the available options.
Note that delta style argument values in ~/.gitconfig should be in double quotes, like --minus-style="syntax #340001"
. For theme names and other values, do not use quotes as they will be passed on to delta, like theme = Monokai Extended
.
All git commands that display diff output should now display syntax-highlighted output. For example:
git diff
git show
git log -p
git stash show -p
git reflog -p
git add -p
To change your delta options in a one-off git command, use git -c
. For example
git -c delta.line-numbers=false show
There are several important environment variables that affect delta configuration and which can be used to configure delta dynamically. Please see Environment variables.
Jujutsu
For Jujutsu users, add this to your ~/.config/jj/config.toml
:
[ui]
pager = "delta"
diff-formatter = ":git"