Vì ediff-filesvà ediff-bufferskết quả là apply: Searching for program: no such file or directory, difflỗi trên máy windows.
Làm cách nào để so sánh hai tệp bằng Emacs trên hệ thống windows?
exec-pathbiến.
Vì ediff-filesvà ediff-bufferskết quả là apply: Searching for program: no such file or directory, difflỗi trên máy windows.
Làm cách nào để so sánh hai tệp bằng Emacs trên hệ thống windows?
exec-pathbiến.
Câu trả lời:
Như @nanny đã nói trong các bình luận, giải pháp đã cài đặt Cygwin với diffutils. Đây là cách làm:
diffutils: A GNU collection of diff utilitiesgói. Gói này có thể được tìm thấy trong Utilsphần trong một vài bước cài đặt Cygwin.

;
Sau này, bạn có thể gọi ediff-buffers, ediff-filesvà những người khác thành công. Trông giống như thế này:
Thưởng thức!
Điều này có thể giúp mọi người tiết kiệm thời gian vì vậy tôi sẽ trả lời ở đây. Nếu bạn không muốn thêm binthư mục cygwin vào đường dẫn của mình (hoặc bất kỳ thư mục nào khác được đề xuất trong các câu trả lời khác), bạn có thể đặt đường dẫn của chương trình ediff sử dụng bằng cách đặt biến ediff-diff-program. Ví dụ: bạn có thể đặt nó thành C:\cygwin\bin(hoặc bất cứ đường dẫn thực tế nào trong trường hợp của bạn) nếu sử dụng cygwin. Tôi phải mất một thời gian để tìm ra biến nào cần thiết lập. Một số DID KHÔNG hoạt động là: ediff-custom-diff-programvà diff-command.
Ví dụ:
(setq ediff-diff-program "c:/CYGWIN64/bin/diff.exe")
Phải không.
PATHđặt biến chính xác. Sửa tôi nếu tôi sai.
Nếu bạn không cần phải tạo khác biệt, nhưng chỉ muốn tìm sự khác biệt giữa các tệp, một cách để làm điều đó là sử dụng M-x compare-windowsthay thế.
Mở hai tệp sao cho bạn thấy cả hai cùng một lúc, di chuyển điểm đến điểm bắt đầu trong cả hai bộ đệm và chạy M-x compare-windows. Nó sẽ di chuyển điểm đến vị trí đầu tiên nơi các tệp khác nhau. Điều này sẽ làm việc mà không có bất kỳ thực thi bên ngoài.
Nếu bạn sử dụng trình cài đặt dòng lệnh https://scoop.sh/, bạn có thể nhận được diffbằng cách nhập scoop install diffutilslời nhắc của mình.