J'ai configuré git diff
pour envelopper dans vimdiff, en utilisant " Git Diff avec Vimdiff " comme guide, et cela fonctionne comme prévu à moins qu'il y ait beaucoup de fichiers avec des changements.
Lorsqu'il y a plusieurs fichiers avec des modifications et que je lance git diff
, il ouvre le premier fichier et, après avoir quitté la première instance de vimdiff, le message suivant s'affiche:
external diff died, stopping at filename
C'est un comportement complètement différent de celui auquel je suis habitué. J'avais une configuration similaire dans le passé avec SVN et, lorsque je différais de plusieurs fichiers, j'examinais le premier fichier, puis j'écrivais et quittais l'utilisation :wq
et le fichier suivant avec des différences s'ouvrait.
Ce n'est pas le cas avec Git. J'ai essayé :n[ext]
, mais cela ne remplit pas la fenêtre de gauche avec le fichier d'origine afin qu'il puisse être différent de la version modifiée.
df
aliasédiff
etdt
aliasé àdifftool
. De plus, la saisie:qa
dans Vim fera défiler le jeu de modifications suivant sans rien enregistrer.git diff
thangit difftool
. J'ai donc pris un aliasd
pour «diff» et'dt' to
difftool ». L'utilisabilité est plus importante que la création d'alias avec motif.:w!
au lieu de:w
". C'est parce que git appellevimdiff
avec l'-R
option. Vous pouvez le remplacer pargit config --global difftool.vimdiff.cmd 'vimdiff "$LOCAL" "$REMOTE"'
. Cela ouvrira vimdiff en mode inscriptible.Vous pouvez essayer
git difftool
, il est conçu pour faire ce genre de choses.Tout d'abord, vous devez configurer l'outil diff pour vimdiff
Ensuite, lorsque vous voulez faire une différence, utilisez simplement
git difftool
au lieu degit diff
. Cela fonctionnera comme prévu.la source
la source
merge
pardiff
dans les réponses ci-dessus fera l'affaire, c'est-à - diregit config --global diff.tool vimdiff
.Pour les personnes qui souhaitent utiliser un autre outil diff non répertorié dans git, dites avec
nvim
. voici ce que j'ai fini par utiliser:Dans mon cas, je mets
<tool name>
ànvim -d
et appeler la commande diffla source