tool example git vim diff vimdiff

example - Viendo todos los `git diffs` con vimdiff



git difftool example (3)

Configuro git diff para envolverlo en vimdiff, usando " Git Diff with Vimdiff " como guía, y está funcionando como se espera a menos que haya muchos archivos con cambios.

Cuando hay varios archivos con cambios y ejecuto git diff , abre el primer archivo y, después de salir de la primera instancia de vimdiff, aparece el siguiente mensaje:

external diff died, stopping at filename

Este es un comportamiento completamente diferente al que estoy acostumbrado. Tenía una configuración similar en el pasado con SVN y, cuando difería en varios archivos, revisaba el primer archivo, luego escribía y :wq usando :wq y se :wq el siguiente archivo con diferencias.

Este no es el caso con Git. Intenté :n[ext] , pero al hacerlo no llene la ventana izquierda con el archivo original para que pueda diferir de la versión modificada.


Puedes probar git difftool , está diseñado para hacer esto.

Primero, necesitas configurar la herramienta diff en vimdiff

git config diff.tool vimdiff

Luego, cuando quiera dif, simplemente use git difftool lugar de git diff . Funcionará como esperabas.


Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff as valid diff tools. You can also set up a custom tool. git config --global diff.tool vimdiff git config --global diff.tool kdiff3 git config --global diff.tool meld git config --global diff.tool xxdiff git config --global diff.tool emerge git config --global diff.tool gvimdiff git config --global diff.tool ecmerge


git config --global diff.tool vimdiff git config --global difftool.prompt false git config --global alias.d difftool

Escribir git d produce el comportamiento esperado, escribiendo :wq en vim ciclos al siguiente archivo en el conjunto de cambios.