मैं विम को उस फ़ाइल की वर्तमान इंडेंटिंग शैली के अनुकूल कैसे बना सकता हूँ जिसका मैं संपादन कर रहा हूँ?


39

मैं जावास्क्रिप्ट परियोजनाओं की एक श्रृंखला पर काम करता हूं। इन परियोजनाओं में से अधिकांश में, जावास्क्रिप्ट फ़ाइलों का इंडेंटेशन 2 स्थान है, इसलिए मैंने अपना डिफ़ॉल्ट इंडेंटेशन चौड़ाई निर्धारित किया है। हालाँकि यह कुछ अन्य परियोजनाओं में 1 या 4 हो जाता है।

क्या वर्तमान फ़ाइल में पहले से उपयोग की गई शैली के आधार पर इंडेंटेशन शैली को बदलने के लिए विम से पूछने का कोई तरीका है?


आप विशेष रूप से फ़ाइल नाम के लिए .vimrc में ऐसी सेटिंग्स क्यों नहीं जोड़ते? :au BufEnter *.js :set shiftwidth=2। यह सभी परियोजनाओं के लिए काम करता है,
सिबिकोडेर

1
@ सिबिओडर: क्योंकि एक ही फ़िलाटाइप में विभिन्न परियोजनाओं के दौरान अलग-अलग इंडेंटिंग स्टाइल हो सकते हैं। (उदाहरण: एक ही कंपनी से संबंधित परियोजनाएं नहीं)
थामेरा

*.*सिर्फ एक पैटर्न है। आप फ़ाइल नाम या पथ का भी उपयोग कर सकते हैं। या, आप इसी तरह के ऑटो कमांड का उपयोग कर सकते हैं जैसे मैंने दिया, प्रत्येक फ़ाइल के लिए। आप ऑटो कमांड को निर्देश कर सकते हैं कि वह करंट फाइल का टैब्लेट ले ले और इस फाइल के पथ के लिए डाल दे। यह बहुत आसान है।
सिबिओडर

जवाबों:


28

ऊपर @Undo के उत्तर में जोड़ने के लिए। टिम पोप के पास एक प्लगइन है जो tpope / vim-sleuth पर समान करने की कोशिश करता है


5
स्लीथ मेरे अनुभव में, जासूस की तुलना में थोड़ा बेहतर काम करता है, और फाइल सिस्टम में पास की अन्य फाइलों को देखकर नई फ़ाइलों के लिए उचित इंडेंट सेटिंग्स निर्धारित करने का भी प्रयास करेगा।
जामसेन

@jamessan को यह नहीं पता था कि, अच्छा पता है।
ध्रुव सागर

2
कृपया प्लगइन-अनुशंसा उत्तरों पर हमारी नीति पढ़ें और समस्या को हल करने के लिए अपने अनुशंसित प्लगइन का उपयोग करने के बारे में कुछ विवरण जोड़ें।
२००

15

मैंने इसका उपयोग नहीं किया है, लेकिन ciaranm / detectindent वह हो सकता है जो आप खोज रहे हैं। यह सक्रिय प्रतीत होता है (अंतिम बार 25 दिन पहले अपडेट किया गया), और ऐसा लगता है कि यह वही करता है जो आप चाहते हैं:

एक विम प्लगइन, स्वचालित रूप से इंडेंट सेटिंग्स का पता लगाने के लिए। यह प्लगइन जोड़ता है: DetectIndent कमांड, जो सक्रिय फ़ाइल में उपयोग में मौजूदा सेटिंग्स के आधार पर 'शिफ्ट एक्सपोज़र', 'एक्सपेंडाटैब' और 'टैबस्टॉप' विकल्पों को बुद्धिमानी से सेट करने की कोशिश करता है।


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