Ich experimentiere mit ediff-directories
, bin mir aber nicht sicher, ob ich es richtig verwende.
Ich habe in der Dokumentation gelesen, dass, sobald ich zwei Verzeichnisse anliege ediff-directories
, wenn ich ==
Emacs drücke, diese rekursiv verglichen werden.
Wenn ich jedoch drücke, ==
erhalte ich nur Ordner mit =
Zeichen (dh die beiden Ordner haben identischen Inhalt) auf der Ebene, auf der ich den Befehl ausführe. Wenn ich sehen möchte, welche Ordner =
Zeichen auf tieferen Ebenen in der Ordnerhierarchie haben, muss ich den ==
Befehl auf jeder Ebene erneut ausführen .
Wie kann ich Emacs anweisen, rekursiv bis zu den Blättern zu gehen, damit ich alle Unterschiede in der directory difference buffer
(über den Tastaturbefehl D
) sehen kann?
Wenn jemand eine Anleitung zur Verwendung kennt ediff-directories
(außer der offiziellen Dokumentation ), wäre ich sehr interessiert.
Auch wenn ich eine Sitzungsgruppe verlassen möchte (Vergleich von Ordnern auf einer Ebene), aber Sitzungen für tiefere Ebenen geöffnet sind, q
beschwert sich Emacs mit der Meldung:
Diese Sitzungsgruppe hat aktive Sitzungen - kann nicht beendet werden
Wie kann ich Sitzungsgruppen verlassen, ohne die Untersitzungen einzeln zu verlassen?
ztree-diff
kann zwei Verzeichnisse rekursiv unterscheiden. github.com/fourier/ztreeAntworten:
Ich habe verwendet
M-x dired-compare-directories
, aber es gibt auch EdiffTrees , die Ihnen in der von Ihnen beschriebenen Situation besser dienen könnten.quelle
Ich brauchte auch diese Funktion und kam mit den folgenden. Die Funktion
ediff-directories-recursive
funktioniert wieediff-directories
, kehrt aber in Unterverzeichnisse zurück.Die Magie dahinter besteht darin, das eingebaute vorübergehend
directory-files
durch ein selbstgemachtes zu ersetzen ,directory-files-recursive
bevor man anruftediff-directories
.quelle
Es gibt ein
ztree
Paket von Melpa, das den rekursiven Verzeichnisbaumvergleich unterstützt:M-x ztree-diff
Verwenden von GNU-diff
Dienstprogrammen, um entsprechende Dateien zu vergleichen.Wenn Sie das Paket
use-package
dann zum Installieren und Konfigurieren verwendenztree
, fügen Sie Folgendes hinzu.emacs
:quelle