Dal momento che ediff-files
e ediff-buffers
causare apply: Searching for program: no such file or directory, diff
errori sui computer Windows.
Come confrontare due file usando Emacs su un sistema Windows?
exec-path
variabile.
Dal momento che ediff-files
e ediff-buffers
causare apply: Searching for program: no such file or directory, diff
errori sui computer Windows.
Come confrontare due file usando Emacs su un sistema Windows?
exec-path
variabile.
Risposte:
Come ha detto @nanny nei commenti, la soluzione sta installando Cygwin con diffutils. Ecco come farlo:
diffutils: A GNU collection of diff utilities
pacchetto. Questo pacchetto può essere trovato nella Utils
sezione in uno dei pochi passaggi dell'installazione di Cygwin.
Dopo questo si è in grado di chiamare ediff-buffers
, ediff-files
e gli altri con successo. Che assomiglia a questo:
Godere!
Se hai installato git per Windows, è sufficiente aggiungerlo
C:\Program Files\Git\usr\bin\
al tuo PERCORSO, perché è già fornito con un eseguibile diff e lo installa in quella cartella.
Questo potrebbe far risparmiare tempo alle persone, quindi risponderò qui. Se non si desidera aggiungere la bin
directory cygwin al proprio percorso (o una qualsiasi delle altre suggerite nelle altre risposte), è possibile impostare il percorso utilizzato dal programma ediff impostando la variabile ediff-diff-program
. Ad esempio, è possibile impostarlo su C:\cygwin\bin
(o qualunque sia il percorso effettivo nel proprio caso) se si utilizza cygwin. Mi ci è voluto del tempo per capire quale variabile impostare. Alcuni che NON FUNZIONANO erano: ediff-custom-diff-program
e diff-command
.
Per esempio:
(setq ediff-diff-program "c:/CYGWIN64/bin/diff.exe")
lo fa.
PATH
variabile impostata correttamente. Correggimi se sbaglio.
Se non hai bisogno di produrre un diff, ma vuoi solo trovare le differenze tra i file, un modo per farlo è usare M-x compare-windows
invece.
Aprire i due file in modo tale da visualizzarli entrambi contemporaneamente, spostare il punto all'inizio in entrambi i buffer ed eseguire M-x compare-windows
. Passerà al primo punto in cui i file differiscono. Questo dovrebbe funzionare senza alcun eseguibile esterno.
Se si utilizza il programma di installazione della riga di comando https://scoop.sh/ è possibile ottenere diff
digitando scoop install diffutils
il prompt.