Ich weiß, dass wir mit Vims Diff-Modus ( vimdiff
) den Inhalt von zwei (oder mehr) Dateien vergleichen können.
Es ist jedoch möglich, den Inhalt mehrerer Dateien in verschiedenen Verzeichnissen zu vergleichen, um zwei Verzeichnisse rekursiv zusammenzuführen (z. B. DiffMerge und ähnliche Tools).
filesystem
vimdiff
Kenorb
quelle
quelle
Antworten:
Es gibt das DirDiff.vim- Plugin ( GitHub ), um zwei Verzeichnisse rekursiv zu vergleichen und zusammenzuführen.
Verwendung:
Weitere Informationen / Hilfe:
:help dirdiff
Siehe den Screenshot:
Siehe auch:
Verzeichnisse rekursiv vergleichen und zusammenführen? bei dedm blog
quelle
Ich verwende ein Wrapper-Skript
python
, um Dateien zusammenzuführen (siehe unten). Dies ist eine vereinfachte Version dessen, was ich verwende, um meine~/.vim
Verzeichnisse und dergleichen zusammenzuführen.Es sollte in Python 2 und 3 funktionieren; aber wahrscheinlich nicht in sehr alten Versionen von Python, wie sie mit CentOS und einigen anderen Distributionen ausgeliefert werden.
Beachten Sie, dass einige Überprüfungen (z. B. bei Binärdateien oder bei identischen Dateien) nicht sehr schnell sind (die gesamte Datei wird gelesen). Sie können sie entfernen, wenn Sie möchten.
Es wird auch nicht gemeldet, ob a nur in einem der Verzeichnisse vorhanden ist ...
quelle
Ich habe das gleiche für eine Weile gewollt. Die beste Lösung, die ich gefunden habe, war die Verwendung von vdwrap , was erstaunlich gut funktioniert. Es tut , ist alles einpacken
git difftool --dir-diff
fürvimdiff
. Es werden keine vim-Plugins benötigt.Alles , was Sie tun müssen , ist zu sagen ,
git difftool
zu verwendenvdwrap
:Wenn Sie das nächste Mal git difftool verwenden, wird Vim mit separaten Vim-Registerkarten für jedes Dateipaar geöffnet.
Eine Einschränkung ist, dass es sich um ein Zsh-Skript handelt. Es sollte ziemlich einfach sein, es in ein Bash-Skript zu konvertieren, aber ich habe es nicht ausprobiert.
quelle
Wenn Sie nur vimdiff verwenden möchten, ohne etwas anderes zu installieren, werden mit dem folgenden Befehl alle unterschiedlichen Dateien nacheinander geöffnet, sodass Sie sich die Änderungen mit vimdiff ansehen können:
quelle
Dafür gibt es eine leichte Lösung:
diff dir1 dir2 | vim -R -
in der Schale.Es werden Falze hinzugefügt und nebeneinander für geänderte Dateien verglichen.
quelle