Da ediff-files
und ediff-buffers
führen zu apply: Searching for program: no such file or directory, diff
Fehlern auf Windows-Computern.
Wie vergleiche ich zwei Dateien mit Emacs auf einem Windows-System?
exec-path
Variablen befinden.
Da ediff-files
und ediff-buffers
führen zu apply: Searching for program: no such file or directory, diff
Fehlern auf Windows-Computern.
Wie vergleiche ich zwei Dateien mit Emacs auf einem Windows-System?
exec-path
Variablen befinden.
Antworten:
Wie @nanny in den Kommentaren sagte, hat die Lösung Cygwin mit diffutils installiert. So geht's:
diffutils: A GNU collection of diff utilities
Paket. Dieses Paket finden Sie im Utils
Abschnitt in einem der wenigen Schritte der Cygwin-Installation.
Danach sind Sie in der Lage zu nennen ediff-buffers
, ediff-files
erfolgreich und andere. Welches sieht ungefähr so aus:
Genießen!
Wenn Sie Git für Windows installiert haben, reicht es aus, es hinzuzufügen
C:\Program Files\Git\usr\bin\
zu Ihrem PATH, da er bereits mit einer ausführbaren Diff-Datei geliefert wird und in diesem Ordner installiert wird.
Dies kann Menschen Zeit sparen, daher werde ich hier antworten. Wenn Sie das Cygwin- bin
Verzeichnis nicht zu Ihrem Pfad hinzufügen möchten (oder zu einem der anderen in den anderen Antworten vorgeschlagenen), können Sie den Pfad des von ediff verwendeten Programms festlegen, indem Sie die Variable festlegen ediff-diff-program
. Zum Beispiel könnten Sie es auf C:\cygwin\bin
(oder was auch immer der tatsächliche Pfad in Ihrem Fall ist) setzen, wenn Sie cygwin verwenden. Ich habe einige Zeit gebraucht, um herauszufinden, welche Variable gesetzt werden soll. Einige, die NICHT funktionierten, waren: ediff-custom-diff-program
und diff-command
.
Beispielsweise:
(setq ediff-diff-program "c:/CYGWIN64/bin/diff.exe")
macht es.
PATH
Variable korrekt eingestellt sein sollte. Korrigiere mich, wenn ich falsch liege.
Wenn Sie kein Diff erstellen müssen, sondern nur die Unterschiede zwischen den Dateien ermitteln möchten, können Sie dies M-x compare-windows
stattdessen verwenden.
Öffnen Sie die beiden Dateien so, dass Sie beide gleichzeitig sehen, verschieben Sie den Punkt in beiden Puffern zum Anfang und führen Sie ihn aus M-x compare-windows
. Es wird an die erste Stelle verschoben, an der sich die Dateien unterscheiden. Dies sollte ohne externe ausführbare Datei funktionieren.
Wenn Sie das Befehlszeileninstallationsprogramm https://scoop.sh/ verwenden , können Sie dies diff
durch Eingabe scoop install diffutils
Ihrer Eingabeaufforderung erreichen.