Skip to content

Merge

Use a custom merge command

By default, chezmoi uses vimdiff. You can use a custom command by setting the merge.command and merge.args configuration variables. The elements of merge.args are interprested as templates with the variables .Destination, .Source, and .Target containing filenames of the file in the destination state, source state, and target state respectively. For example, to use neovim's diff mode, specify:

~/.config/chezmoi/chezmoi.toml
[merge]
    command = "nvim"
    args = ["-d", "{{ .Destination }}", "{{ .Source }}", "{{ .Target }}"]

Hint

If you generate your config file from a config file template, then you'll need to escape the {{ and }} in your config file template so that they appear in your generated config file.