मैं अपने .vimrc फ़ाइल में कुछ "स्रोत" कैसे करूँ?


99

मैं हाल ही में अपने vim-foo का विस्तार करने पर काम कर रहा हूं और मैंने कुछ प्लगइन्स ( ऑटोटैग.विम उदाहरण के लिए) चलाए हैं जिनके लिए उन्हें मेरे .vimrc फ़ाइल में "sourced" होने की आवश्यकता है। इसका वास्तव में क्या मतलब है और मैं इसे कैसे करता हूं?

जवाबों:


119

किसी फ़ाइल को सोर्स करना उसे 'निष्पादित' कर रहा है। अनिवार्य रूप से, फ़ाइल की प्रत्येक पंक्ति को एक कमांड माना जाता है। इसे सोर्स करना प्रत्येक आदेश को टाइप करने के समान है। आप आदेश के साथ स्रोत :source(आमतौर पर छोटा :so)।

इसलिए अगर आप स्रोत myStuff.vim

:so myStuff.vim

और अगर myStuff.vimइन पंक्तियों में निहित है

set xx iI just intersted this<C-]>
set yy bbbb4dw

यह वैसा ही है जैसे कि आपने उन कमांड्स को Vim में टाइप किया हो

:set xx iI just intersted this<C-]>
:set yy bbbb4dw

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

जहाँ यह दिलचस्प हो जाता है कि तथ्य यह है कि चूंकि एक खट्टा फ़ाइल केवल कमांड की एक श्रृंखला है, और सोर्सिंग एक कमांड है, तो आप अपने स्रोत फ़ाइलों से फ़ाइलों को स्रोत कर सकते हैं। तो आप हर बार उपयोग करने वाले प्लगइन्स को खट्टा किया जा सकता है जब आप .vimrcइस तरह से एक लाइन जोड़कर विम को शुरू करते हैं

 so myPlugin.vim

2
क्या करता so!है? मैंने इसे चलाया क्योंकि मुझे लगा कि यह जबरन संसाधन मेरे पास होगा .vimrcऔर यह उस फ़ाइल के माध्यम से चलना शुरू कर रहा है जिसे मैं संपादित कर रहा था (मेरे .vimrc) और अजीब तरीकों से बकवास कर रहा था और सभी प्रकार के अजीब सामान हो रहे थे।
अलेक्सज मगुरा

2
यह "सामान्य" मोड में फ़ाइलों को निष्पादित करता है (यानी, यदि आप ":" को सामने नहीं जोड़ते हैं तो क्या होगा)।
एंड्रयू माइनर

44

आपके .vim / plugin directory में फाइलें स्वचालित रूप से (लोड) होती हैं।


7
इसके अलावा, उनके फ़ाइल नाम से समाप्त होना चाहिए .vim
flawyte

हाँ, लेकिन केवल एक बार प्रति स्टार्टअप, सही? जब आप टर्मिनल / पावरशेल लॉन्च करते हैं, या जब आप कुछ फ़ाइल को संपादित करने के लिए vim कमांड का उपयोग करते हैं?
3pitt

@ 3pitt AFAIK, यह हर बार विम कमांड चलाया जाता है।
थड्डेयस मार्कले

12

हमेशा होता है : स्रोत फ़ाइल कमांड। मैं आमतौर पर लिखता हूं .vimrcकि इसमें कस्टम कमांड्स हैं और कंसोल एप्लिकेशन के लिए क्या नहीं है और फिर .gvimrcइसमें अतिरिक्त अच्छाइयां हैं जो कि विंडो संस्करण के लिए उपयुक्त हैं। मेरी .gvimrcशुरुआत source $HOME/.vimrcनई सामग्री में जोड़ने से पहले कंसोल संस्करण से सब कुछ लेने के लिए होती है ।


मेरे संस्करण vim के, कम से कम, सभी स्रोत .vimrc हर समय। क्या आप वाकई .vimrc स्रोत की आवश्यकता है?
दाव क्लार्क

@DavClark: ऐसा लगता है कि आप इसके बारे में सही हो सकते हैं। मैं लंबे समय से ऐसा कर रहा हूं और इसके बारे में दो बार नहीं सोचा। मदद फ़ाइल निश्चित रूप से बताती है कि यह आवश्यक नहीं है ... हम्म्।
डी। शेवले

6

आम तौर पर दो vimrc फाइलें होती हैं, एक _vimrc और दूसरी _gvimrc (पहले एक में vim के लिए चीजें होती हैं, और दूसरी में gvim - ग्राफिकल चीजें) - हालांकि ज्यादातर लोग मुझे सिर्फ _vimrc में सब कुछ जानते हैं।

एक अच्छा अभ्यास अपनी सभी अतिरिक्त फ़ाइलों (प्लगइन्स, कलचेम, स्निपेट्स ...) को एक अलग (अपने आप) vimfiles निर्देशिका (जिसे आप अपने साथ ले जा सकते हैं) को रखना है।

यदि तुम करो

:help vimfiles

vim बताएगा कि आपकी vimfiles डायरेक्टरी स्थित होनी चाहिए। यह प्लेटफॉर्म (जीत, यूनिक्स) पर कुछ हद तक निर्भर करता है। खिड़कियों पर सामान्य रूप से आपके उपयोगकर्ता फ़ोल्डर (दस्तावेज़ और सेटिंग्स, फिर उपयोगकर्ता ...) में है। Vimfiles निर्देशिका में उपनिर्देशिका के एक जोड़े हैं। उनमें से "प्लगइन" उपनिर्देशिका है। उस dir में लगाए गए प्लगइन्स अपने आप लोड हो जाएंगे (प्लगिन "प्लगइन" की उपनिर्देशिकाओं में भी डाल दिए जाएंगे)। यदि आप इसे स्वचालित रूप से लोड करने की इच्छा नहीं रखते हैं, तो बस इसे अपने "vimfiles", या किसी अन्य निर्देशिका में रखें, और

:so plugin_name.vim (with the appropriate path)
(you can use the $vim, $vimfiles, and $home as shortcuts when defining path to plugin)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.