Hello, On Sat, Aug 6, 2022 at 11:25 AM Fernando Ramos <greenfoo@xxxxxx> wrote: > On 22/08/02 04:41PM, Felipe Contreras wrote: > > I wrote vimdiff3 to leverage both the power of git's diff3 and vim's > > diff mode, but commit 0041797449 broke that. > By default this option is *not* set, which means buffers are discarded when > hidden (and that's why diff colors dissapear). By setting this option colors are > back even with '-u NONE': > > vim -u NONE -c "echo | set hidden | 4b | bufdo diffthis" -c "tabfirst" LOCAL BASE REMOTE MERGED > ^^^^^^^^^^ Correct. > Regarding (2) we can remove the "Press ENTER" message by adding "silent" to both > "4b" and "bufdo", like this: > > vim -u NONE -c "echo | set hidden | silent 4b | silent bufdo diffthis" -c "tabfirst" LOCAL BASE REMOTE MERGED > ^^^^^^ ^^^^^^ Correct. > So... by making two changes to the current implementation (adding "set hidden" > and "silent") we can make it work. The nice thing is that, this way, "vimdiff3" > does not need to be treated as an exception and thus it will be (hopefully) > easier to maintain. > > What do you think? :) This could work. The result is not quite the same as with vimdiff, but the difference is minimal. Two observations though. 1. The "silent 4b" is ignored, since bufdo makes the last buffer the current buffer, so if you want a different buffer you have to make the switch *after* bufdo. 2. You probably want to do "set hidden" on all the modes. I don't see the need for all this complexity for this simple mode, but anything that actually works is fine by me. Cheers. -- Felipe Contreras