Matthew Klein <mklein994@xxxxxxxxx> writes: > Hi, > > I encountered a bug when using the new vimdiff layout format. Thanks for a report. Fernando (the author of the layout engine)? Can you take a look? > To recreate this, start with a merge conflict, and merge with this command: > > git mergetool --tool=nvimdiff > > I expected the layout to be: > > ------------------------------------------ > | | | | > | LOCAL | BASE | REMOTE | > | | | | > ------------------------------------------ > | | > | MERGED | > | | > ------------------------------------------ > > The layout when I ran the command was: > > ------------------------------------------ > | | > | LOCAL | > | | > ------------------------------------------ > | | | | > | LOCAL | LOCAL | MERGED | > | | | | > ------------------------------------------ > > I expected the layout to be the same as what was documented to be the default > for "nvimdiff". > > In my init.vim configuration file, I have these lines set: > > set splitbelow > set splitright > > These options globally change the behaviour of the "split" command so that > instead of "split" creating a new window above the current window, or to the > left when used with "vertical", it does the opposite. Docs: > https://neovim.io/doc/user/options.html#'splitbelow' > > I recommend using the "leftabove" (a.k.a "aboveleft") command together with > "split". Since these windows are positioned absolutely (according to > "mergetool.nvimdiff.layout"), it shouldn't depend on the user's configuration. > Docs: https://neovim.io/doc/user/windows.html#:leftabove > > The previous invocation (i.e. "4wincmd w | wincmd J") didn't run into this > issue, since its not affected by the "splitbelow" and "splitright" options. > > Hope this helps, > > Matthew > > [System Info] > git version: > git version 2.37.0 > cpu: x86_64 > no commit associated with this build > sizeof-long: 8 > sizeof-size_t: 8 > shell-path: /bin/sh > uname: Linux 5.18.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 02 Jul 2022 > 21:03:06 +0000 x86_64 > compiler info: gnuc: 12.1 > libc info: glibc: 2.35 > $SHELL (typically, interactive shell): /bin/bash > > > [Enabled Hooks]