Desde ediff-files
y ediff-buffers
dar como resultado un apply: Searching for program: no such file or directory, diff
error en las máquinas con Windows.
¿Cómo comparar dos archivos usando Emacs en un sistema Windows?
files
microsoft-windows
ediff
Mente vacía
fuente
fuente
diff
instalado. Ve a buscar a Cygwin e inténtalo de nuevo.exec-path
variable.Respuestas:
Como @nanny dijo en los comentarios, la solución es haber instalado Cygwin con diffutils. Aquí está cómo hacerlo:
diffutils: A GNU collection of diff utilities
paquete. Este paquete se puede encontrar en laUtils
sección en uno de los pocos pasos de la instalación de Cygwin.a) agregando su propia variable CYGWIN, para mantener el orden. ;
b) y agregando la variable que acaba de crear a la variable PATH del sistema.
Después de esto, son capaces de llamar
ediff-buffers
,ediff-files
y otros con éxito. Que se parece a esto:¡Disfrutar!
fuente
Si tiene instalado git para Windows, entonces es suficiente agregar
a su RUTA, porque ya viene con un ejecutable diff y lo instala en esa carpeta.
fuente
Esto puede ahorrarle tiempo a la gente, así que responderé aquí. Si no desea agregar el
bin
directorio cygwin a su ruta (o cualquiera de los otros sugeridos en las otras respuestas), puede establecer la ruta del programa que utiliza ediff configurando la variableediff-diff-program
. Por ejemplo, podría establecerlo enC:\cygwin\bin
(o cualquiera que sea la ruta real en su caso) si usa cygwin. Me llevó algo de tiempo averiguar qué variable establecer. Algunos que NO funcionaron fueron:ediff-custom-diff-program
ydiff-command
.Por ejemplo:
lo hace.
fuente
PATH
variable configurada correctamente. Corrígeme si estoy equivocado.Si no necesita producir un diff, pero solo quiere encontrar las diferencias entre los archivos, una forma de hacerlo es usarlo
M-x compare-windows
.Abra los dos archivos de modo que los vea a ambos al mismo tiempo, mueva el punto al principio en ambos búferes y ejecute
M-x compare-windows
. Se moverá el punto al primer lugar donde los archivos difieren. Esto debería funcionar sin ningún ejecutable externo.fuente
Si usa el instalador de línea de comandos https://scoop.sh/ puede obtenerlo
diff
escribiendoscoop install diffutils
su solicitud.fuente