我正在尝试使用 neovim 作为 git mergetool,但它没有按预期工作,也没有按照我从文档中理解的那样工作。
这是我的
.gitconfig
:
[user]
name = Augusto
[pull]
rebase = true
[diff]
tool = nvimdiff
guitool = nvimdiff
[merge]
tool = nvimdiff
conflictstyle = diff3
[mergetool]
keepBackup = false
trustExitCode = false
prompt = true
[difftool]
prompt = false
[commit]
gpgsign = true
[core]
editor = nvim
pager = bat
[mergetool "nvimdiff"]
layout = LOCAL,MERGED,REMOTE
当我运行
git mergetool
时,它会按预期打开 NeoVim,但布局不正确。它始终以默认值打开,但不打开应打开的所有“文件”。
而不是
------------------------------------------
| | | |
| LOCAL | BASE | REMOTE |
| | | |
------------------------------------------
| |
| MERGED |
| |
------------------------------------------
打开是这样的
------------------------------------------
| | | |
| LOCAL | LOCAL | MERGED |
| | | |
------------------------------------------
| |
| LOCAL |
| |
------------------------------------------
命令输出:
git config mergetool.nvimdiff.layout
LOCAL,MERGED,REMOTE
git config merge.tool
nvimdiff
这将产生所需的结果:
[mergetool "nvimdiff"]
layout = "LOCAL,BASE,REMOTE / MERGED"
在要点上找到:https://gist.github.com/Pagliacii/8fcb4dc64937305c19df9bb3137e4cad
我遇到了同样的问题,即使用 nvimdiff 时未应用布局。原来配置布局时需要使用
vimdiff
而不是nvimdiff
。文档 git-mergetool 详细说明了 vim 和 nvim 使用相同的布局配置。
[mergetool "vimdiff"]
layout = LOCAL,MERGED,REMOTE