मुझे एक vimrc और gvimrc दोनों की आवश्यकता क्यों है?


38

वरीयताओं को विशिष्ट करने के लिए स्टोर करने के दो तरीके प्रतीत होते हैं:

  1. Vim के लिए .vimrcएक .gvimrcफ़ाइल और gvim विशिष्ट परिवर्धन के लिए एक फ़ाइल रखें ।

  2. सभी सेटिंग्स को .vimrcएक फ़ीचर डिटेक्शन सशर्त में gvim विशिष्ट सेटिंग्स लपेटकर रखें :

    if has('gui_running')
        " gvim specific settings here
    endif
    

बाद वाले विकल्प के अस्तित्व को देखते हुए, मुझे कभी .gvimrcफ़ाइल की आवश्यकता क्यों होगी ?


एक विशिष्ट उदाहरण जो मुझे उपयोगी लगता है, winposजो कि gvim द्वारा उपयोग की जाने वाली विंडो की स्थिति को बदलता है। इसका कोई प्रभाव नहीं है (और इसका कोई मतलब नहीं है) ~/.vimrc, इसे~/.gvimrc
जालान

जवाबों:


29

जब GUI प्रारंभ होता है, तो कुछ सेटिंग्स को रीसेट किया जाता है और फिर .gvimrcसंसाधित किया जाता है।

नतीजतन, यदि आप उन सेटिंग्स में से किसी के लिए एक गैर-डिफ़ॉल्ट मान चाहते हैं, तो आपको इसे एक में सेट करना होगा .gvimrc; जीयूआई मोड के लिए परीक्षण .vimrcकाम नहीं करेगा।

ऐसी एक सेटिंग है t_vb, विज़ुअल बेल के लिए उपयोग किया जाने वाला टर्मिनल कोड; वास्तव में, सभी टर्मिनल वैकल्पिक जीयूआई मोड (देखें :help terminal-options) के लिए डिफॉल्ट्स के लिए रीसेट हैं ।

इसके अलावा जीयूआई सेटअप और मेनू अनुकूलन का एक गुच्छा बाहर किया जाता है; यदि आप उसमें से किसी को भी ट्वीक करना चाहते हैं, तो आप चाहते हैं कि .gvimrcइसका कोई प्रभाव न पड़े।

ओवर रीडिंग :help gvimrcउन चीजों का एक अच्छा अवलोकन प्रदान करती है जो आप के सोर्सिंग के बीच आप पर बदल सकते हैं .vimrcऔर .gvimrcआप बाद में फिर से समायोजन पर विचार करना चाह सकते हैं।


3
IIRC आप किसी भी बाद के .vimrc कमांड से पहले होने के लिए gui स्टार्टअप अनुक्रम को बाध्य करने के लिए :gui( has("gui_running")निश्चित रूप से) कमांड का उपयोग कर सकते हैं । मेरा .vimrc वास्तविक जीयूआई पृष्ठभूमि के रंग के आधार पर डिफ़ॉल्ट पृष्ठभूमि प्रकाश / अंधेरे सेटिंग को सेट करने की अनुमति देने के लिए इसका उपयोग करता है।
रैंडम 832
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.