मैं रूबी और मार्कडाउन की फाइलों के बीच पलता हूं। क्या कोई ऐसा तरीका है जिसे मैं set spellकिसी *.mdफ़ाइल को खोलने पर स्वचालित रूप से सेट कर सकता हूं , लेकिन जब मैं एक को खोलता हूं तो नहीं *.rb?
मैं रूबी और मार्कडाउन की फाइलों के बीच पलता हूं। क्या कोई ऐसा तरीका है जिसे मैं set spellकिसी *.mdफ़ाइल को खोलने पर स्वचालित रूप से सेट कर सकता हूं , लेकिन जब मैं एक को खोलता हूं तो नहीं *.rb?
जवाबों:
किसी विशेष फ़ाइल प्रकार के लिए एक विकल्प सेट करने का सबसे अच्छा तरीका ऑटोकॉमैंड्स का उपयोग करना है।
यहाँ आप अपने में कुछ ऐसा जोड़ सकते हैं .vimrc:
autocmd FileType markdown setlocal spell
यह रेखा कमांड को ट्रिगर करेगी setlocal spellजब बफर के फ़िलेटाइप को मार्कडाउन के रूप में सेट किया जाएगा। आप उस फ़ाइल के विस्तार के आधार पर ऑटोकेमैंड का उपयोग कर सकते हैं जिसे आप कुछ इस तरह से संपादित करते हैं:
autocmd BufRead,BufNewFile *.md setlocal spell
अधिक जानकारी के लिए आप को पढ़ना चाहिए :h :autocmdऔर :h autocmd-events।
EDIT ऑटोकॉमैंड्स का उपयोग करना सबसे अच्छा तरीका नहीं है।
सबसे पहले, यदि आप ऑटोकॉम का उपयोग करते हैं, तो उन्हें एक में रखना याद रखें augroup:
augroup markdownSpell
autocmd!
autocmd FileType markdown setlocal spell
autocmd BufRead,BufNewFile *.md setlocal spell
augroup END
इस तरह अगर आप अपने vimrc को कई बार स्रोत करते हैं तो ऑटोकॉमंड्स ढेर नहीं होंगे और कई बार निष्पादित हो जाएंगे।
अब एक बेहतर समाधान होगा कि आप एक फुटप्लगिन का उपयोग करें। ऐसा करने के लिए आप फ़ाइल बनाना चाहते हैं ~/.vim/after/ftplugin/markdown.vim।
यह फ़ाइल तब बंद कर दी जाएगी जब किसी बफर का फ़िलाटाइप सेट हो जाता है markdownऔर उसके बाद ftpluginडिफ़ॉल्ट रूप से विम के साथ आता है (यह आप पहले से मौजूद सेटिंग्स को ढीला नहीं करते हैं)।
इस फ़ाइल में आप बस जोड़ सकते हैं:
setlocal spell
यहां आपको यह सुनिश्चित करने के setlocalबजाय उपयोग करने की आवश्यकता setहै कि सेटिंग्स केवल वर्तमान बफर पर लागू होंगी और सभी बफ़र्स पर नहीं।
कुछ दिलचस्प संबंधित मदद विषय:
autocmd FileType latex,tex,md,markdown setlocal spell