जवाबों:
आप इसे अपने .vimrc में भी डाल सकते हैं:
au BufReadPost *.ezt set syntax=html
.myspecialdotfile। यह काम करने के लिए कहीं न कहीं इसमें एक स्टार की जरूरत है, भले ही यह सैद्धांतिक रूप से आवश्यक न हो।
.vimrcDockerfiles के लिए मेरी फाइल में यह है कि विभिन्न प्रयोजनों के लिए एक्सटेंशन हैं। autocmd BufNewFile, BufRead Dockerfile * set filetype = docker बस का उपयोग कर Dockerfile*वाक्यविन्यास हाइलाइटिंग को काम करने से रोकता है vi Dockerfile- बैकस्लैश को जोड़ने से यह Dockerfile/ / के लिए काम करने की अनुमति देता हैDockerfile.somethingDockerfilesomething
:set syntax=html
:set syntaxवर्तमान में लागू की गई हाइलाइटिंग फ़ाइल को लौटा देगी
इस विम विकिया विषय पर एक नज़र डालें । कुछ उपयोगी सुझाव:
जैसा कि अन्य उत्तरों ने उल्लेख किया है, आप सिंटैक्स सेट करने के लिए vim सेट कमांड का उपयोग कर सकते हैं। :set syntax=<type>जहां <type>की तरह कुछ है perl, html, php, आदि
एक अन्य तंत्र है जिसका उपयोग सिंटैक्स हाइलाइटिंग को नियंत्रित करने के लिए किया जा सकता है filetype, या ftसंक्षिप्त रूप से। सिंटैक्स के समान, आप इसे इस प्रकार देते हैं :set filetype=html:। अन्य फ़ाइल प्रकार हैं perl, phpआदि
कभी-कभी विम "भूल" क्या वाक्यविन्यास का उपयोग करने के लिए, खासकर यदि आप php और HTML जैसी चीजों को एक साथ मिला रहे हैं। हाइलाइटिंग को रिफ्रेश करने के लिए कीबोर्ड शॉर्टकट Ctrl+ L( <C-L>) का उपयोग करें ।
एक .php फ़ाइल (या एक html फ़ाइल) में, आप कुछ आदेशों या सेटिंग्स को बाध्य करने के लिए एक विम मॉडेल का उपयोग कर सकते हैं :
1 /* vim: syntax=javascript
2 *
3 * .submit_norefresh()
~
~
au ...मेरे ~/.vimrcकुछ वाक्य-विन्यास से संबंधित सेटिंग्स को कुछ फाइलों के लिए अनदेखा कर दिया जाता है (संभवतः संशोधित मेटाडेटा के कारण?)। उस फ़ाइल की सामग्री को एक ताज़ा फ़ाइल पर कॉपी करने के अलावा, उस फ़ाइल के शीर्ष पर एक मॉडलइन स्थापित करना काम करता है। उदाहरण के लिए, एक BASH स्क्रिप्ट के लिए, एक दूसरी पंक्ति को जोड़ने के # vim: syntax=shबाद, शबंग (पहली पंक्ति:) #!/bin/bashकाम करने लगती है, मज़बूती से। चूँकि यह मूल रूप से एक "टिप्पणी" है, मैं सिर्फ दोनों पंक्तियों को अपने sbb("शबंग बैश") स्निपेट में शामिल करता हूँ।
इसे स्वचालित बनाने के लिए, इस पंक्ति को अपने में जोड़ें ~/.vimrc:
autocmd BufNewFile,BufRead *.ezt set filetype=html
यदि आप इसे वर्तमान फ़ाइल के लिए करना चाहते हैं, तो टाइप करें:
:set filetype=html
आप syntaxइसके बजाय स्थानापन्न भी कर सकते हैं filetype, लेकिन सिंटैक्स हाइलाइटिंग, इंडेंटिंग नियम और प्लगइन्स सहित () filetypeसे अधिक चीजों को प्रभावित करता हैsyntax , इसलिए आम तौर पर आपको filetypeतब तक उपयोग करना चाहिए जब तक आप केवल प्रभावित नहीं करना चाहते syntax।