में सेट है या नहीं, मैं रिमोट सर्वर पर कॉन्फ़िगरेशन और स्क्रिप्ट संपादित करने के लिए पिछले वर्षों के दौरान vim का उपयोग करता था। कुछ हफ्ते पहले मैंने अगले चरण को लेने का फैसला किया और सब्लिमे टेक्स्ट 2 के अलावा मेरे नियमित संपादक के रूप में (मैक) विम का उपयोग करने का प्रयास किया। अब मैं एक बिंदु पर पहुंचा जहां मैं अपनी पहली प्लगइन बनाना चाहता हूं।यह देखने के लिए सुरुचिपूर्ण तरीका है कि वैश्विक प्लगइन वैरिएबल एक vim प्लगइन
मेरी प्लगइन प्लगइन के कुछ गुणों को समायोजित करने के लिए उपयोगकर्ता द्वारा असाइन किए जा सकने वाले ~ 16 वैश्विक चर को परिभाषित किया जाएगा। मैंने खुद से पूछा कि क्या उपयोगकर्ता ने पहले से ही एक निश्चित चर के लिए अपना मूल्य सौंपा है, यह जांचने के लिए सबसे शानदार तरीका (व्यक्तिपरक हो सकता है) क्या होगा। मैं विभिन्न अन्य प्लगइन्स और "पैटर्न" निरीक्षण मैं अब तक हमेशा प्रतीत हो रहा है देखें:
if !exists("g:pluginname_setting")
let g:pluginname_setting="default"
endif
आसान और सीधे आगे हो रहा है यही कारण है कि। लेकिन मैं हमेशा बार-बार कोड का एक ही टुकड़ा दोहराता। चूंकि vi (m) बहुत लंबे समय तक मौजूद है, मुझे पूरा यकीन है कि लोगों ने प्लगइन लिखने के कई तरीकों का प्रयास किया है और कुछ प्रकार का "सर्वोत्तम अभ्यास" विकसित किया गया है, जो मुझे लगता है कि मैंने "पैटर्न" ऊपर दिया है उदहारण के लिए। फिर भी यह एक शब्दकोश को पॉप्युलेट करने के लिए एक फ़ंक्शन को कॉल करने के लिए और अधिक सुरुचिपूर्ण नहीं होगा जिसमें सभी प्लगइन सेटिंग्स शामिल हों और फिर कुंजी को जांचने के लिए शब्दकोश को फिर से चालू करें ताकि यह देखने के लिए कि कोई उपयोगकर्ता पहले से ही अपनी व्यक्तिगत वरीयताओं को परिभाषित कर चुका है या नहीं? क्या यह एक अच्छा विचार होगा या क्या मुझे सिर्फ विचार छोड़ना चाहिए और ìf !exists()
दृष्टिकोण पर चिपकना चाहिए?
आपके उत्तर के लिए धन्यवाद। :) प्लगइन कुछ हाइलाइट्स के साथ सौदा होगा। इसलिए उपलब्ध वर्रों में से 2/3 विभिन्न परिस्थितियों में रंग, एफजी या बीजी उपयोग जैसी दृश्य उपस्थिति से संबंधित हैं। – Saucier
हाइलाइट्स के लिए, सामान्य दृष्टिकोण 'है: हाय डीफ़ प्लगइन समूह guifg = ...' एक डिफ़ॉल्ट हाइलाइटिंग; इसके बाद .vimrc में ओवरराइड किया जा सकता है। –
भले ही मैं मौजूदा हाय समूहों के रंगों को ओवरराइड कर दूं? – Saucier