मैंने हाल ही में विम 7 (पहले विम 6) और smartindent
सेटिंग का उपयोग शुरू किया। अधिकांश भाग के लिए, यह अच्छी तरह से काम करता है, हालांकि मुझे खुली ब्रेस के बाद एक टैब टाइप करने के लिए इतना उपयोग किया जाता है कि यह लगभग काउंटर-उत्पादक है।विम में कौन सी सेटिंग शैल स्क्रिप्ट में # टिप्पणियों को इंडेंट करने से इंटेलिजेंट के इनकार करने का विरोध करती है?
हालांकि, मनोचिकित्सक व्यवहार का एक टुकड़ा है। एक शेल स्क्रिप्ट संपादित करते समय, मैं वर्तमान इंडेंट स्तर पर एक टिप्पणी बनाने का प्रयास करता हूं, लेकिन smartindent
के पास इसके साथ कुछ लेना देना नहीं होगा। यह जोर देता है कि टिप्पणी स्तर 0 (कोई इंडेंट नहीं) होनी चाहिए। इससे भी बदतर, यह शिफ्ट-दाएं ('>>
' और दोस्तों को तोड़ देता है ताकि वे काम न करें। यह पूरी तरह से अपर्याप्तता है, और मैं जानना चाहता हूं कि इसे ठीक करने का सबसे अच्छा तरीका क्या है?
(मैं भी smartindent
के if
के बाद then
इंडेंट के बारे में विचार करने को उत्सुक नहीं हूँ।)
पसंदीदा समाधान मुझे पुस्तिका को कोसने की बचत होगी - मैं आलसी जा रहा हूँ। शेल स्क्रिप्ट संपादित करते समय इसे एक विकल्प 'smartindent
बंद करें' (बाकी के लिए इसे छोड़ दें) '। एक और विकल्प smartindent
के लिए नियंत्रण स्क्रिप्ट को कैसे ढूंढें और उन विशेषताओं को बदलने के लिए संपादित करने के लिए दिशानिर्देश होंगे जो मुझे पसंद नहीं हैं। अंतिम विकल्प (जिस पर मुझे सलाह नहीं है कि कैसे करना है - केवल यह संकेत है कि यह सर्वोत्तम है, या केवल स्वच्छता बहाल करने का तरीका) smartindent
अनसेट करना है।
मैंने "(PHP and) annoying vim unindent rules" पर अस्पष्ट रूप से संबंधित प्रश्न देखा; यह मुझे प्रत्यक्ष उत्तर प्रदान नहीं करता है, हालांकि शायद cindent
और वहां उल्लिखित संबंधित आइटम वास्तव में उत्तर का हिस्सा हैं।
महान यहाँ जवाब: http://stackoverflow.com/questions/191201/indenting-comments-to-match-code-in-vim सही दिशा में – Dan