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.