Magit: วิธีแสดงความแตกต่างภายในบรรทัด


14

ฉันมีไฟล์ฉันทำการเปลี่ยนแปลงบางอย่าง นี่คือวิธีที่ SmartGit แสดงความแตกต่าง

SmartGit

ในขณะที่คุณสามารถเห็นมันแสดงความแตกต่างอยู่ภายในบรรทัด มันเปลี่ยนพื้นหลังเป็นสีแดงในตำแหน่งที่เป็นรูปธรรม และมันก็ดีมาก ฉันไม่จำเป็นต้องใช้เวลาในการค้นหาความแตกต่าง ฉันเห็นความแตกต่างทันที

ตอนนี้ดูเหมือนว่าใน Magit:

ป้อนคำอธิบายรูปภาพที่นี่

อย่างที่คุณเห็น Magit กล่าวว่าความแตกต่างอยู่ในสายทั้งหมด มันไม่ได้แสดงว่าส่วนต่างอยู่ตรงไหนในเส้น ดังนั้นฉันจำเป็นต้องค้นหาความแตกต่างด้วยตนเอง ฉันต้องทำสิ่งนี้ทุกครั้ง มันไม่ได้เปรียบเทียบกันมาก สมมติว่าฉันมีความแตกต่างใน 20 บรรทัด ฉันต้องใช้เวลามากในการค้นหาสิ่งที่เปลี่ยนไป มันไม่ค่อยดีเท่าไหร่

magit สามารถแสดงความแตกต่างที่คอลัมน์จริงที่การเปลี่ยนแปลงคืออะไร? เช่นเดียวกับใน SmartGit

คำตอบ:


3

ถ้าคุณต้องการที่จะเก็บไว้ในการกำหนดค่าของคุณเช่นฉันเพียงแค่เพิ่ม

(setq magit-diff-refine-hunk (quote all))

เพื่อคุณ .emacs.d/init.el


นี้ได้รับแรงบันดาลใจจากคำตอบ Phils'


16

M-x customize-option RET magit-diff-refine-hunk RET

ดูเพิ่มเติมที่magit-diff-toggle-refine-hunkคำสั่งซึ่งเชื่อมโยงกับDtซึ่งคุณสามารถใช้เพื่อตั้งค่าลักษณะการทำงานในบัฟเฟอร์ปัจจุบัน ใช้DC-utเพื่อเปิดการปรับแต่งสำหรับการล่าสัตว์ทั้งหมดในบัฟเฟอร์; มิฉะนั้นเฉพาะการปรับแต่งสำหรับก้อนใหญ่ที่เลือกในปัจจุบันจะปรากฏขึ้นตามเวลาที่กำหนด (อัปเดตเมื่อคุณย้ายระหว่างการล่าสัตว์)

การกำหนดค่าการปรากฏตัวของ 'กลั่น' ภูมิภาคของต่างที่ใช้M-x customize-faceสำหรับdiff-refine-added, diff-refine-changedและdiff-refine-removedใบหน้า


1

สำหรับคำที่แตกต่างในการทำงาน magit จำเป็นต้องสามารถใช้งานdiffได้

เพื่อให้แน่ใจว่าผลตอบแทนไม่ได้M-x ielm RET (executable-find "diff") RET nilหากมันกลับมาnilเพิ่มเส้นทางไปยังโฟลเดอร์ที่มี diff ของคุณปฏิบัติการเพื่อexec-pathตัวแปรด้วยM-x ielm RET (add-to-list 'exec-path "c:/Program Files/Git/usr/bin") RET

ถัดไปคุณต้องให้แน่ใจว่า magit เป็นจริงโดยใช้ที่diffปฏิบัติการ หากต้องการใส่บัฟเฟอร์สถานะ magit ให้กดDและตรวจสอบว่า-x Disallow external diff drivers (--no-ext-diff)ปิดใช้งานแล้ว มิฉะนั้นปิดการใช้งานที่มีการ-xตั้งเป็นค่าเริ่มต้นด้วยแล้วบันทึกค่าเริ่มต้นด้วยsDw

หลังจากเสร็จสิ้นคุณสามารถใช้Dtเพื่อสลับmagit-diff-refine-hunkตัวเลือกสำหรับบัฟเฟอร์ปัจจุบันของคุณหรือทำตามคำตอบนี้โดยphilsเพื่อทำให้การตั้งค่านี้ถาวรยิ่งขึ้น


0

ลองediff-toggle-ignore-caseหรือcompare-ignore-caseแปรปรวน ฉันเดาว่าเอ็นจิ้นส่วนต่างของคุณไม่สนใจกรณี อาจมีตัวเลือกต่างกัน (ฉันไม่แน่ใจว่าการตั้งค่าคืออะไร)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.