अजगर ऑटो इंडेंट समस्या


11

मैं 24.4 Emacs का उपयोग कर रहा हूँ। पायथन कोड लिखते समय, Emacs इंडेंटेशन के संबंध में अजीब व्यवहार करते हैं।

उदाहरण के लिए:

for i in range(10):
    print(i)
for i in range(10)

जब मैं इनपुट करता हूं :, तो Emacs तीसरी पंक्ति की शुरुआत में एक अनावश्यक इंडेंट जोड़ता है। यह काफी अजीब है, क्या यह एक बग है?


क्या आप अपनी .emacs init फ़ाइल को जोड़ सकते हैं
विवियन माया

2
@VivianMaya इसका कॉन्फिग फाइल्स से कोई लेना-देना नहीं है, फिर emacs -Qभी यह समस्या है
हंगर

मेरे दोस्त कभी-कभी इंडेंटेशन कुछ पार कर सकते हैं, मुझे इस तरह की समस्या थी और यह परिभाषा को पार करने के बारे में था। अगर आपको यकीन है कि इसका कुछ नहीं करना है, तो मैं स्पष्ट रूप से नहीं जानता कि क्या चल रहा है।
विवियन माया

जवाबों:


16

यह इसके कारण होता है electric-indent-mode, जो एमएसीएस 24.4 में डिफ़ॉल्ट रूप से सक्षम होता है । आप इसे बंद कर सकते हैं

(electric-indent-mode -1)

यदि आप इलेक्ट्रिक इंडेंट मोड को पूरी तरह से अक्षम नहीं करना चाहते हैं, लेकिन पायथन मोड में इलेक्ट्रिक इंडेंट मोड को सक्रिय करने से कोलन को रोकना चाहते हैं, तो आप कोलन कैरेक्टर को हटा सकते हैं electric-indent-chars, जिससे पायथन मोड लोकल वैल्यू देता है।

(add-hook 'python-mode-hook
          (lambda ()
            (setq electric-indent-chars (delq ?: electric-indent-chars))))

मैं वास्तव में जो देखना चाहता हूं वह है: जब मैंने जो इंडेंट डाला है वह कानूनी पायथन है, तो यह बहुत अच्छा है। इलेक्ट्रिक-इंडेंट-मोड
माइंडलेस अंदाजा लगाता है

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