On 22/08/08 01:37AM, Felipe Contreras wrote: > On Mon, Aug 8, 2022 at 12:35 AM Fernando Ramos <greenfoo@xxxxxx> wrote: > > > > vimdiff3 was introduced in 7c147b77d3 (mergetools: add vimdiff3 mode, > > 2014-04-20) and then partially broken in 0041797449 (vimdiff: new > > implementation with layout support, 2022-03-30) in two ways: > > > > - It does not show colors unless the user has "set hidden" in his > > .vimrc file > > > > - It prompts the user to "Press ENTER" every time it runs. > > For the record, in my version these two issues are fixed in a much simpler way: > Yes, it was simpler but remember it had two small issues: 1. In "vimdiff3" mode, if you switch to buffers #2 or #3, highlighting disappears. 2. It treats a single tab with a single window as a special case, when in fact it is just a subcase of a layout with many tabs where one of them contains just one window. The new patch series makes no distinction between them by keeping track of the number of windows opened on each tab which, as you noted, adds some extra complexity (but needed complexity nevertheless if we want to have highlighting enabled in all cases) > > # Add an extra "-c" option to move to the first tab (notice that we > > # can't simply append the command to the previous "-c" string as > > # explained here: https://github.com/vim/vim/issues/9076 > > > > - FINAL_CMD="-c \"$CMD\" -c \"tabfirst\"" > > + FINAL_CMD="-c \"set hidden diffopt-=hiddenoff diffopt-=closeoff\" -c \"$CMD\" -c \"tabfirst\"" > > } > > These diffopt settings look awfully familiar. > I would go as far as saying they are the same :) As you explained, it is better to keep these options explicitly set so that buffer diff'ing works in all cases. Notice that in this new patch series, however, these options apply to all layouts (and not just to "vimdiff3"), as we want highlighting to also be enabled in multi-tab single window layouts. PS: I have been testing many layouts today with and without an empty .vimrc and everything seems to work. But it would be great if others reading this did the same to make sure there are no other strange vim configuration options that affect the way diffs are displayed (as, unfortunately, we have found out in the past more than once!) Thanks!