शेल स्क्रिप्ट फ़ंक्शन के लिए इंडेंटेशन सेट करें


11

मैं sh-mode(bash उप-मोड) में एक नया फ़ंक्शन शुरू करने के लिए प्रति इंडेंट प्रति रिक्त स्थान की संख्या निर्धारित करने का प्रयास कर रहा हूं । मैंने सेटिंग की कोशिश की है:

'(sh-basic-offset 2)
'(sh-indentation 2)
'(smie-indent-basic 2)

(जैसा कि में दिखाया गया custom-set-variablesहै .emacs) और कुछ अन्य लोगों ने भी, लेकिन उनमें से किसी का भी कोई प्रभाव नहीं पड़ा है!


चर सेट करने का तरीका नहीं है custom-set-variables(जो कि कस्टमाइज़ द्वारा आंतरिक रूप से उपयोग की जाने वाली चीज़ है लेकिन इसका उपयोग हाथ से करने के लिए नहीं है)। जैसी चीजों का बेहतर इस्तेमाल करें (setq sh-basic-offset 2)
स्टीफन

जवाबों:


7

sh-basic-offsetआवश्यक इंडेंटेशन के लिए सेट करना आवश्यक है - लेकिन मुझे जो महसूस नहीं हुआ, वह यह है कि अनुकूलन प्रभावी होने से पहले सभी शेल स्क्रिप्ट फ़ाइलों को बंद करना और फिर से खोलना आवश्यक है। मुझे याद है कि एमाक्स में ऐसा पहले कभी नहीं हुआ।


1
बदलने के बाद .emacs, आपको या तो emacs छोड़ना होगा और इसे फिर से शुरू करना होगा, या M-x load-fileअपने पुनः लोड करने के लिए उपयोग करना होगा .emacsयदि आप अपने संपादक में खुली हुई किसी फ़ाइल को फिर से लोड करना चाहते हैं, तो आप C-x C-v RETURNइसे "फिर से आना" कह सकते हैं ।
एलेक्स एल

@AlexL लोड-फ़ाइल इस विशेष मामले में काम नहीं करती है। जैसा मैंने कहा, यह बहुत ही असामान्य है। आमतौर पर एक चर को अनुकूलित करना पर्याप्त है।
रॉबिन ग्रीन

हम्म ... क्या आप जानते हैं कि यह @ रॉबिन-ग्रीन क्यों होगा? मैं उत्सुक हूँ।
एलेक्स एल

M-x set-variableयदि आप जिस बफर में काम कर रहे हैं, उसके लिए आप इसे बदल सकते हैं, तो आप इसका इस्तेमाल भी कर सकते हैं ।
kotakotakota

1

मैंने 2 पर बेसिक-ऑफ़ सेट किया, लेकिन वह काम नहीं कर पाया, मैं वापस दबाया गया C-h v sh-<TAB>और महसूस किया कि वहाँ एक sh-indentationI सेट था जो 2 पर चर रहा था और सब कुछ अब एक आकर्षण की तरह काम करने लगता है।


कृपया स्पष्ट करें कि "सेट-बेसिक-ऑफसेट" से आपका क्या मतलब है और यह भी स्पष्ट करें कि आपने "उस वेरिएबल को 2 में कैसे सेट करें"।
स्टीफन

मंच ने टैब छोड़ दिया क्योंकि मैं चरित्र से अधिक और उससे कम के बीच में था। च v श- "प्रेस टैब" स्वतः पूर्ण आपको चर की एक सूची दिखाएगा।
अल्बरो परेरा

मैंने आपका मार्कअप तय कर दिया है, लेकिन आपकी टिप्पणी अभी भी यह नहीं बताती है कि "सेट-बेसिक-ऑफसेट" से आपका क्या मतलब है और न ही आपने "वैरिएबल को 2 पर सेट" कैसे किया
स्टीफन

यह चर 26.1 के बाद से अप्रचलित है, sh-basic-offsetइसके बजाय उपयोग करें ।
गोएट्ज़क

0

मुझे अल्बरो के समान ही अनुभव था: श-बेसिक-ऑफसेट की स्थापना का कोई प्रभाव नहीं था, लेकिन उम्मीद के मुताबिक काम करते हुए श-इंडेंटेशन स्थापित करना।

मेरे मामले में, मैंने (setq sh-basic-offset 2)emacs से मूल्यांकन किया, जैसे। एमएक्स eval-अभिव्यक्ति के माध्यम से। मैं दौड़ रहा हूं GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK+ Version 3.22.21) of 2017-09-22, modified by Debian। मेरी प्रमुख विधा शैल-लिपि है।

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