Magit: लाइनों के भीतर अंतर कैसे दिखाएं


14

मेरे पास एक फाइल है, मैं कुछ बदलाव करता हूं। यहां स्मार्टगिट कैसे अंतर दिखाता है।

smartgit

जैसा कि आप देख सकते हैं कि यह दिखाता है कि रेखा के भीतर अंतर कहां है। यह ठोस स्थिति में पृष्ठभूमि को लाल रंग में बदलता है। और यह बहुत अच्छा है। मुझे मतभेद खोजने के लिए समय बिताने की जरूरत नहीं है। मैं तुरंत देखता हूं कि अंतर कहां है।

अब यह मैगिट में कैसा दिखता है:

यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं कि मैगिट कहता है कि अंतर WHOLE लाइन में था। यह नहीं दिखाया जा रहा है कि लाइन के भीतर अंतर कहां है। इसलिए मुझे यह खोजने की आवश्यकता है कि मैन्युअल रूप से अंतर कहां है। मुझे हर बार ऐसा करने की जरूरत है। यह बहुत तुलनीय नहीं है। मान लीजिए कि मेरी 20 लाइनों में अंतर है। मुझे वास्तव में बदले जाने के लिए बहुत समय बिताने की आवश्यकता है। यह बहुत अच्छा नहीं है।

क्या मैगिट वास्तविक कॉलम में अंतर दिखा सकता है जहां परिवर्तन है? जैसा कि स्मार्टगिट में है।

जवाबों:


3

यदि आप उसे अपने विन्यास में संग्रहीत करना चाहते हैं, तो मेरी तरह, बस जोड़ें

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

आपके .emacs.d/init.el


यह फील के उत्तर से प्रेरित था ।


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

शब्द के लिए कार्य करने के लिए अलग-अलग कार्य diffनिष्पादन योग्य का उपयोग करने में सक्षम होना चाहिए ।

इसलिए सुनिश्चित करें कि M-x ielm RET (executable-find "diff") RETरिटर्न नहीं nil। यदि यह रिटर्न के साथ nilआपके exec-pathवैरिएबल के लिए फोल्डर को पाथ को जोड़ देता हैM-x ielm RET (add-to-list 'exec-path "c:/Program Files/Git/usr/bin") RET

अगला आपको यह सुनिश्चित करने की आवश्यकता है कि मैजिट वास्तव में उस diffनिष्पादन योग्य का उपयोग कर रहा है । इसके लिए एक मैगिट स्टेटस बफर दर्ज करें, हिट करें Dऔर सुनिश्चित करें कि -x Disallow external diff drivers (--no-ext-diff)अक्षम है। अन्यथा इसे अक्षम करें -x, इसे डिफ़ॉल्ट रूप से सेट करें sऔर फिर डिफ़ॉल्ट को सहेजें Dw

ऐसा करने के बाद, आप अपने वर्तमान बफर Dtके magit-diff-refine-hunkविकल्प को टॉगल करने के लिए उपयोग कर सकते हैं या इस सेटिंग को अधिक स्थायी बनाने के लिए phils द्वारा इस उत्तर का पालन कर सकते हैं ।


0

कोशिश ediff-toggle-ignore-caseया compare-ignore-caseपरिवर्तनशील। मेरा अनुमान है कि आपका अंतर इंजन मामले की अनदेखी कर रहा है। अलग-अलग विकल्पों में भी हो सकता है (मुझे यकीन नहीं है कि सेटिंग्स क्या हैं)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.