Так как ediff-files
и ediff-buffers
привести к apply: Searching for program: no such file or directory, diff
ошибке на Windows-машинах.
Как сравнить два файла с помощью Emacs в системе Windows?
files
microsoft-windows
ediff
Empty_Mind
источник
источник
diff
установили. Принеси Cygwin и попробуй еще раз.exec-path
переменной.Ответы:
Как сказал @nanny в комментариях, решение установило Cygwin с diffutils. Вот как это сделать:
diffutils: A GNU collection of diff utilities
пакетом. Этот пакет можно найти вUtils
разделе одного из нескольких этапов установки Cygwin.а) добавления вашей собственной переменной CYGWIN, чтобы сохранить порядок. ;
б) и добавление только что созданной переменной в системную переменную PATH.
После этого вы можете позвонить
ediff-buffers
,ediff-files
и другие успешно. Который выглядит примерно так:Наслаждайтесь!
источник
Если у вас установлен git для Windows, то достаточно добавить
в ваш путь, потому что он уже поставляется с исполняемым файлом diff и устанавливает его в эту папку.
источник
Это может сэкономить людям время, поэтому я отвечу здесь. Если вы не хотите добавлять
bin
каталог cygwin к своему пути (или любой другой из предложенных в других ответах), вы можете установить путь, используемый программой, которую использует ediff, установив переменнуюediff-diff-program
. Например, вы можете установить егоC:\cygwin\bin
(или любой другой фактический путь в вашем случае), если используете cygwin. Мне потребовалось некоторое время, чтобы выяснить, какую переменную установить. Некоторые, которые НЕ работали, были:ediff-custom-diff-program
иdiff-command
.Например:
Является ли.
источник
PATH
правильно установлена переменная. Поправьте меня если я ошибаюсь.Если вам не нужно создавать diff, а просто хотите найти различия между файлами, один из способов сделать это - использовать
M-x compare-windows
вместо этого.Откройте два файла так, чтобы вы видели их оба одновременно, переместите точку в начало в обоих буферах и запустите
M-x compare-windows
. Это переместит точку в первое место, где файлы различаются. Это должно работать без какого-либо внешнего исполняемого файла.источник
Если вы используете установщик командной строки https://scoop.sh/, вы можете получить
diff
его, набравscoop install diffutils
в командной строке.источник