Je sais que le mode diff de Vim ( vimdiff
) nous permet de comparer le contenu de deux fichiers (ou plus).
Mais il est possible de comparer le contenu de plusieurs fichiers sur plusieurs répertoires afin de fusionner deux répertoires de manière récursive (comme DiffMerge et des outils similaires)?
filesystem
vimdiff
Kenorb
la source
la source
Réponses:
Il existe un plugin DirDiff.vim ( GitHub ) pour diff et fusionner deux répertoires de manière récursive.
Usage:
Pour plus d'informations / aide:
:help dirdiff
Voir la capture d'écran:
Voir également:
Comparer et fusionner des répertoires de manière récursive? chez dedm blog
la source
J'utilise un script d'emballage
python
pour fusionner des fichiers (voir ci-dessous). Ceci est une version simplifiée de ce que j'utilise pour fusionner mes~/.vim
répertoires et autres.Cela devrait fonctionner en Python 2 et 3; mais probablement pas dans les très anciennes versions de Python livrées avec CentOS et d'autres distributions.
Sachez que certaines vérifications (comme celle concernant les fichiers binaires, ou si les fichiers sont identiques) ne sont pas très rapides (le fichier entier est lu); vous pouvez les enlever si vous voulez.
Il ne mentionne pas non plus si a est uniquement présent dans l'un des répertoires ...
la source
Je voulais la même chose depuis un moment. La meilleure solution que j'ai trouvée consistait à utiliser vdwrap , qui fonctionne à merveille. Tout ce qu'il fait est wrap
git difftool --dir-diff
pourvimdiff
. Il ne nécessite aucun plugin vim.Tout ce que vous avez à faire, c'est
git difftool
d'utiliservdwrap
:La prochaine fois que vous utiliserez git difftool, il ouvrira Vim avec des onglets Vim distincts pour chaque paire de fichiers.
Une mise en garde est que c'est un script Zsh. Cela devrait être assez simple de le convertir en script bash, mais je ne l'ai pas essayé.
la source
Si vous voulez simplement utiliser vimdiff sans rien installer de plus, la commande suivante ouvrira successivement tous les fichiers, ce qui vous permettra de voir les modifications avec vimdiff:
la source
Il existe une solution légère pour cela:
diff dir1 dir2 | vim -R -
à la coquille.Il ajoutera des replis et une comparaison côte à côte pour les fichiers modifiés.
la source