Desde ediff-files
e ediff-buffers
resultar em apply: Searching for program: no such file or directory, diff
erro em máquinas Windows.
Como comparar dois arquivos usando o Emacs em um sistema Windows?
files
microsoft-windows
ediff
Mente vazia
fonte
fonte
diff
instalou. Vá buscar o Cygwin e tente novamente.exec-path
variável.Respostas:
Como @nanny disse nos comentários, a solução está em instalar o Cygwin com diffutils. Aqui está como fazê-lo:
diffutils: A GNU collection of diff utilities
pacote. Este pacote pode ser encontrado naUtils
seção em uma das poucas etapas da instalação do Cygwin.a) adicionando sua própria variável CYGWIN, para manter o pedido. ;
b) e adicionando a variável que você acabou de criar à variável PATH do sistema.
Após isso, você é capaz de chamar
ediff-buffers
,ediff-files
e outros com sucesso. Que se parece com isso:Apreciar!
fonte
Se você possui o git for windows instalado, basta adicionar
para o seu PATH, porque ele já vem com um executável diff e o instala nessa pasta.
fonte
Isso pode economizar tempo para as pessoas, então eu responderei aqui. Se você não quiser adicionar o cygwin
bin
diretório ao seu caminho (ou qualquer uma das outras sugeridas em outras respostas), você pode definir o caminho dos usos programa ediff definindo a variávelediff-diff-program
. Por exemplo, você pode configurá-lo paraC:\cygwin\bin
(ou qualquer que seja o caminho real no seu caso) se estiver usando o cygwin. Levei algum tempo para descobrir qual variável definir. Alguns que NÃO funcionaram foram:ediff-custom-diff-program
ediff-command
.Por exemplo:
faz isso.
fonte
PATH
variável definida corretamente. Corrija-me se eu estiver errado.Se você não precisa produzir um diff, mas apenas deseja encontrar as diferenças entre os arquivos, uma maneira de fazer isso é usá-lo
M-x compare-windows
.Abra os dois arquivos para que você os veja ao mesmo tempo, mova o ponto para o início nos dois buffers e execute
M-x compare-windows
. Ele moverá o ponto para o primeiro local em que os arquivos diferem. Isso deve funcionar sem nenhum executável externo.fonte
Se você usar o instalador da linha de comando https://scoop.sh/, poderá obter
diff
digitandoscoop install diffutils
seu prompt.fonte