ตั้งแต่ediff-filesและediff-buffersส่งผลให้เกิดapply: Searching for program: no such file or directory, diffข้อผิดพลาดในเครื่อง windows
วิธีเปรียบเทียบสองไฟล์โดยใช้ Emacs บนระบบ windows
exec-pathตัวแปร
ตั้งแต่ediff-filesและediff-buffersส่งผลให้เกิดapply: Searching for program: no such file or directory, diffข้อผิดพลาดในเครื่อง windows
วิธีเปรียบเทียบสองไฟล์โดยใช้ Emacs บนระบบ windows
exec-pathตัวแปร
คำตอบ:
ดังที่ @nanny กล่าวไว้ในความคิดเห็นวิธีการแก้ปัญหาก็คือการติดตั้ง Cygwin ด้วย diffutils นี่คือวิธีที่จะทำ:
diffutils: A GNU collection of diff utilitiesแพ็คเกจ แพคเกจนี้สามารถพบได้ในUtilsส่วนหนึ่งในไม่กี่ขั้นตอนของการติดตั้ง Cygwin

;
หลังจากนี้คุณสามารถโทรไปediff-buffers, ediff-filesและคนอื่น ๆ ที่ประสบความสำเร็จ ซึ่งมีลักษณะดังนี้:
สนุก!
หากคุณมี git สำหรับ windows ติดตั้งอยู่ก็เพียงพอที่จะเพิ่ม
C:\Program Files\Git\usr\bin\
ไปที่ PATH ของคุณเพราะมันมาพร้อมกับไฟล์ปฏิบัติการ diff และติดตั้งไว้ในโฟลเดอร์นั้น
นี่อาจช่วยชีวิตผู้คนได้บ้างดังนั้นฉันจะตอบที่นี่ หากคุณไม่ต้องการเพิ่ม Cygwin binไดเรกทอรีไปยังเส้นทางของคุณ (หรือของคนอื่น ๆ ที่แนะนำในคำตอบอื่น ๆ ) คุณสามารถกำหนดเส้นทางของการใช้โปรแกรม ediff ediff-diff-programโดยการตั้งค่าตัวแปร ตัวอย่างเช่นคุณสามารถตั้งค่าเป็นC:\cygwin\bin(หรือเส้นทางใดก็ตามที่เป็นจริงในกรณีของคุณ) หากใช้ cygwin ฉันใช้เวลาพอสมควรกว่าจะหาว่าจะตั้งค่าตัวแปรใด บางอย่างที่ไม่ได้ทำงานคน: และediff-custom-diff-programdiff-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พรอมต์ของคุณ