Depuis ediff-files
et ediff-buffers
entraîner une apply: Searching for program: no such file or directory, diff
erreur sur les machines Windows.
Comment comparer deux fichiers en utilisant Emacs sur un système Windows?
exec-path
variable.
Depuis ediff-files
et ediff-buffers
entraîner une apply: Searching for program: no such file or directory, diff
erreur sur les machines Windows.
Comment comparer deux fichiers en utilisant Emacs sur un système Windows?
exec-path
variable.
Réponses:
Comme l'a dit @nanny dans les commentaires, la solution est d'avoir installé Cygwin avec diffutils. Voici comment faire:
diffutils: A GNU collection of diff utilities
package. Ce package peut être trouvé dans la Utils
section dans l'une des quelques étapes de l'installation de Cygwin.
Après cela, vous êtes en mesure d'appeler ediff-buffers
, ediff-files
et d'autres avec succès. Qui ressemble à ceci:
Prendre plaisir!
Si vous avez installé git pour windows, il suffit d'ajouter
C:\Program Files\Git\usr\bin\
à votre PATH, car il est déjà livré avec un exécutable diff et l'installe dans ce dossier.
Cela peut faire gagner du temps aux gens, je vais donc répondre ici. Si vous ne souhaitez pas ajouter le bin
répertoire cygwin à votre chemin (ou l'un des autres suggérés dans les autres réponses), vous pouvez définir le chemin du programme utilisé par ediff en définissant la variable ediff-diff-program
. Par exemple, vous pouvez le définir C:\cygwin\bin
(ou quel que soit le chemin réel dans votre cas) si vous utilisez cygwin. Il m'a fallu un certain temps pour déterminer quelle variable définir. Certains qui n'ont PAS fonctionné étaient: ediff-custom-diff-program
et diff-command
.
Par exemple:
(setq ediff-diff-program "c:/CYGWIN64/bin/diff.exe")
le fait.
PATH
variable correctement définie. Corrige moi si je me trompe.
Si vous n'avez pas besoin de produire un diff, mais souhaitez simplement trouver les différences entre les fichiers, une façon de le faire est d'utiliser à la M-x compare-windows
place.
Ouvrez les deux fichiers de manière à les voir tous les deux en même temps, déplacez le point au début dans les deux tampons et exécutez M-x compare-windows
. Il déplacera le point vers le premier endroit où les fichiers diffèrent. Cela devrait fonctionner sans aucun exécutable externe.
Si vous utilisez le programme d'installation en ligne de commande https://scoop.sh/, vous pouvez l'obtenir diff
en tapant scoop install diffutils
votre invite.