फ़ाइल को सहेजने और पुन: खोलने की आवश्यकता के बिना vim को स्क्रिप्ट प्रकार को कैसे पहचानें और ऑटोइंडेंट और सिंटैक्स हाइलाइटिंग चालू करें?

Aug 16 2020

मैं अपनी शेल स्क्रिप्ट को .shएक्सटेंशन के साथ सहेजता नहीं हूं । इसलिए जब मैं vim का उपयोग करके एक नई फ़ाइल लॉन्च करता हूं vim <filename>, तो यह पढ़ने के द्वारा स्क्रिप्ट प्रकार की पहचान करता है shebang। स्वाभाविक रूप से, यह केवल तब होता है जब मैंने शेबंग में टाइप किया था, फ़ाइल को सहेजा और फिर से खोल दिया ... सोच रहा था कि क्या कोई कमांड लाइन विकल्प या विम कमांड मोड विकल्प है तो मैं बचत और फिर से खोलने के इन अनावश्यक चरणों से बच सकता हूं, और विम बस जानता है कि मैं एक शेल स्क्रिप्ट पर काम कर रहा हूं।

जवाब

4 Quasímodo Aug 16 2020 at 22:27
  • फ़ाइल को सहेजे बिना, आप मैन्युअल रूप से filetype को sh(शेल स्क्रिप्ट) पर सेट कर सकते हैं ।

    :se ft=sh
    
  • आप अपने लिए एक मैपिंग जोड़ सकते हैं .vimrc। उदाहरण के लिए, F3कमांड लागू करने के लिए ,

    nnoremap <F3> :set filetype=sh<CR>
    
  • यदि आप फ़ाइल को सहेजने की अनुमति देते हैं, तो @muru द्वारा बताए अनुसार,

    :w|e