विम सभी संभव प्लगइन विकल्पों को जानने का कोई तरीका प्रदान नहीं करता है।
एक प्लगइन लेखक के रूप में मैं आपको बता सकता हूं कि यह काफी जटिल है क्योंकि आगे बढ़ने के कई अलग-अलग तरीके हैं। उदाहरण के लिए या तो हम मानते हैं कि यदि अंतिम-उपयोगकर्ता ने इसके विकल्प के लिए कोई मूल्य प्रदान नहीं किया है, .vimrc
तो हम इस विकल्प को अस्तित्व में लाने के लिए और एक डिफ़ॉल्ट मान के बराबर होने के लिए बाध्य करते हैं, या हम कह सकते हैं: "या तो मान सेट करें अंतिम-उपयोगकर्ता, या हार्ड-कोडित डिफ़ॉल्ट मान का उपयोग करें "।
उस पहले दृष्टिकोण के साथ, अंतिम-उपयोगकर्ता उपलब्ध विकल्पों की सूची को a c_CTRL-D
, या c_TAB
, आदि के साथ देख सकता है ।
अधिक से अधिक प्लगइन्स अपने सभी विकल्पों को शब्दकोशों में व्यवस्थित करने के लिए चुनते हैं। यानी, होने के बजाय g:plugin_foo_option
और g:plugin_bar_option
, हमारे पास है g:plugin.foo_option
और g:plugin.bar_option
। यह g:
वैश्विक विकल्पों की सूची को प्रदूषित करने से बचता है , लेकिन हम कमांड-लाइन ऑटोकंप्लीशन खो देते हैं (मैं आखिरकार विषय का एक मुद्दा खोल सकता हूं, vim github पर)।
अब तक मैंने केवल वैश्विक विकल्पों के बारे में बात की है। अधिकांश प्लगइन्स अधिक विशिष्ट विकल्पों का समर्थन करने की कोशिश नहीं करते हैं, भले ही उन्हें यह करना चाहिए था। उदाहरण के लिए, मुझे खेद है कि न तो YouCompleteMe और न ही वैकल्पिक , और न ही कई अन्य प्लगइन्स, वैश्विक विकल्पों के बजाय प्रोजेक्ट विशिष्ट विकल्पों का उपयोग करते हैं। दरअसल, मैं जिस प्रोजेक्ट पर काम कर रहा हूं, उसके आधार पर मैं उनके संबंधित विकल्पों को विभिन्न मूल्यों पर सेट करना चाहता हूं। दुर्भाग्य से, यह एक कार्य-प्रवाह नहीं है जो उन्होंने माना है। मेरे प्लगइन्स में, कई विकल्प परियोजना के आधार पर, या बफर आधार पर विशेष किए जा सकते हैं। हाल ही में मैंने इस विषय पर एक प्रयोग किया है। लेकिन सामान्य और सरल g:plugin_option
+ b:plugin_option
जोड़ी के साथ भी , सभी उपलब्ध विकल्पों को जानना असंभव है।
कभी-कभी मैं ऐसे आदेश देने की कोशिश करता हूं जो विकल्पों को सेट करने में मदद करते हैं जैसा कि मैंने बिल्ड-टूल्स-रैपर के साथ किया है, या यहां तक कि मेनू में कुछ विकल्प प्रदर्शित करने के लिए (जब gvim का उपयोग करते हुए), लेकिन यह वास्तव में परिपूर्ण होने से बहुत दूर है।
मुझे डर है कि प्रलेखन सबसे अच्छी चीज उपलब्ध है। तुम भी एक कोशिश कर सकते हैं :h pluginname^D
। यह शायद सबसे अच्छा तरीका उपलब्ध है।