由于ediff-files
和ediff-buffers
结果apply: Searching for program: no such file or directory, diff
在Windows机器上的错误。
如何在Windows系统上使用Emacs比较两个文件?
exec-path
变量上。
由于ediff-files
和ediff-buffers
结果apply: Searching for program: no such file or directory, diff
在Windows机器上的错误。
如何在Windows系统上使用Emacs比较两个文件?
exec-path
变量上。
Answers:
就像@nanny在评论中说的那样,解决方案已在Cyutil中安装了diffutils。这是操作方法:
diffutils: A GNU collection of diff utilities
软件包安装Cygwin 。该软件包可以在Utils
Cygwin安装的几个步骤之一的部分中找到。
之后,您就可以成功呼叫ediff-buffers
,ediff-files
以及其他人。看起来像这样:
请享用!
这样可以节省一些时间,所以我将在这里回答。如果您不希望将cygwin bin
目录添加到路径(或其他答案中建议的其他任何路径),则可以通过设置变量来设置ediff使用的程序的路径ediff-diff-program
。例如,C:\cygwin\bin
如果使用cygwin,则可以将其设置为(或您所用的实际路径)。我花了一些时间才知道要设置哪个变量。无法正常工作的有:ediff-custom-diff-program
和diff-command
。
例如:
(setq ediff-diff-program "c:/CYGWIN64/bin/diff.exe")
可以。
PATH
正确设置变量。如我错了请纠正我。
如果您不需要产生差异,而只想查找文件之间的差异,那么一种M-x compare-windows
替代方法是使用。
打开两个文件,以便您同时看到它们,将点移至两个缓冲区的开头,然后运行M-x compare-windows
。它将移动到文件不同的第一个位置。这应该可以在没有任何外部可执行文件的情况下工作。
如果您使用命令行安装程序https://scoop.sh/,则可以在提示符diff
下输入内容scoop install diffutils
。