Nginx config फाइल को एडिट करते समय vim filetype कैसे सेट करें


17

जब मैं एक फ़ाइल के लिए विम खोलता हूं /etc/nginx/sites-available/default, तो सिंटैक्स हाइलाइटिंग ठीक काम करता है। लेकिन फिर अगर मैं अपनी खुद की फ़ाइल बनाता हूं /etc/nginx/sites-available/myapp, तो विम इसके सिंटैक्स को उजागर नहीं करता है। मुझे :setf confहर बार करना है।

क्या ऐसा कुछ है जो मैं ~/.vimrcविम को बताने के लिए रख सकता हूं "अगर आपको पता नहीं है कि किस सिंटैक्स का उपयोग करना है, तो बस उपयोग करें conf"?

.vimrcविम नोब के लिए एक टेम्पलेट भी स्वागत है। मैं इसे एक आईडीई के रूप में उपयोग नहीं कर रहा हूं, मैं केवल फाइल को कॉन्फ़िगर करने के लिए विम का उपयोग करता हूं।

नोट: मैं Ubuntu 12 का उपयोग कर रहा हूं, अगर यह मायने रखता है।


मैंने आपके शीर्षक को और अधिक सटीक रूप से दर्शाया कि आप क्या करने की कोशिश कर रहे हैं और यहां सवाल फिर से पूछ रहे हैं, क्योंकि यह सामान्य मामले में उपयोगी हो सकता है: serverfault.com/a/390801/2101
मिकी

@ माइकाइब मुझे 'फिलैटाइप्स' के बारे में पता नहीं था या परवाह नहीं थी, जहां तक ​​मुझे पता था कि विम कोड को देखकर और भाषा का अनुमान लगाकर वाक्य रचना हाइलाइटिंग कर सकती थी। और समस्या का मुख्य हिस्सा यह था कि मैं चाहता था कि यह 'डिफ़ॉल्ट रूप से' हो। मुझे पहले से ही पता था कि 'संपादन करते समय भाषा / फ़ाइल का प्रारूप कैसे सेट करें'। इसके अलावा, चाहे वह नगनेक्स के लिए हो या कुछ और, अप्रासंगिक है। जैसा आप चाहते हैं, मुझे कभी समझ में नहीं आया कि सर्वरफोल लोग सवालों को बंद करने या संपादित करने का फैसला क्यों करते हैं (शायद एसईओ के लिए?)। जब तक व्याकरणिक रूप से गलत नहीं होता, मूल शीर्षक मेरी समस्या को दर्शाता है।
HappyDeveloper

3
संभवतः दिलचस्प है: vim.org/scripts/script.php?script_id=1886 (मैं इसका उपयोग करता हूं और यह बहुत अच्छा है, # vim:syn=nginxकॉन्फ़िगरेशन के निचले भाग में जोड़ें )
एकलकरण संस्मरण

@ हेप्पीड्यूपर: मैंने जो कारण संपादित किया, वह यह था कि आपका स्वीकृत जवाब इंगित करता है "ओह, मैं वास्तव में ऐसा करने की कोशिश कर रहा था।" अब भविष्य के आगंतुक 'डिफॉल्ट विम फिलामेंट' या 'डिफॉल्ट विम सिंटैक्स' की खोज कर सकेंगे और इसके लिए सही उत्तर प्राप्त कर सकते हैं क्योंकि निराश होने के बजाय स्वीकार किए गए उत्तर यह नहीं कहते कि प्रश्न का शीर्षक कैसे पूरा किया जाए। साथ ही, अब आप यह भी जानते हैं कि डिफॉल्ट
फिल्टाइप

@ माइकाइब नया शीर्षक 'डिफ़ॉल्ट' शब्द का भी उपयोग नहीं करता है। मूल एक ने किया।
HappyDeveloper

जवाबों:


26

निम्न पंक्ति ~/.vimrcको ऐसा करना चाहिए।

autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf

थोड़ा सुधार ऑटोकैड BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf

1
vim.org/scripts/script.php?script_id=1886 फ़िलाइट की तुलना में बेहतर सिंटैक्स हाइलाइटिंग प्रदान करता है conf। यदि आप वुंडले का उपयोग करते हैं, तो प्रयास करें Plugin 'vim-scripts/nginx.vim'
एडम मोनसेन

सभी .conf फ़ाइलों के लिए, मैंने इस रूप में कमांड डाली:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz

26

वहाँ वास्तव में एक Nginx फ़ाइल प्रकार होता है जो आधिकारिक Nginx भंडार में contrib / vim डायरेक्टरी में परिभाषित होता है । यह कॉन्फिडेंस से बेहतर सिंटैक्स हाइलाइटिंग प्रदान करता है ।

इसका उपयोग करने के लिए, अपने .vimrc (और वांछित के रूप में ट्वीक) के लिए पहचान लाइनों की प्रतिलिपि बनाएँ :

au BufRead,BufNewFile *.nginx set ft=nginx
au BufRead,BufNewFile */etc/nginx/* set ft=nginx
au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
au BufRead,BufNewFile nginx.conf set ft=nginx

फिर nginx.vim को अपने ~ / .vim / सिंटैक्स निर्देशिका में कॉपी करें ।

उपरोक्त नियमों का पालन करने वाली सभी नग्नेक्स फ़ाइलों को अब हाइलाइट किया जाना चाहिए।

यदि आप इंडेंट करना चाहते हैं, तो आप इंडेंट डायरेक्टरी से फाइल को अपने .vimrc में कॉपी भी कर सकते हैं ।

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