如何为 Neovim 正确配置 git mergetool?

问题描述 投票:0回答:2

我正在尝试使用 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
git git-merge neovim mergetool
2个回答
0
投票

这将产生所需的结果:

[mergetool "nvimdiff"]
  layout = "LOCAL,BASE,REMOTE / MERGED"

在要点上找到:https://gist.github.com/Pagliacii/8fcb4dc64937305c19df9bb3137e4cad


-1
投票

我遇到了同样的问题,即使用 nvimdiff 时未应用布局。原来配置布局时需要使用

vimdiff
而不是
nvimdiff
。文档 git-mergetool 详细说明了 vim 和 nvim 使用相同的布局配置。

[mergetool "vimdiff"]
    layout = LOCAL,MERGED,REMOTE
© www.soinside.com 2019 - 2024. All rights reserved.