2013-08-30 1 views
7

मेरे पास 2 .vimrc कॉन्फ़िगरेशन फ़ाइलें ~/.vimrc और ~/.vimsqlrc है।vimrc के बिना vimrc प्रारंभ करें/खुली फ़ाइलों के साथ vimrc बदलें

क्या कोई तरीका है कि मैं इनमें से किसी एक को स्रोत कर सकता हूं (एक से दूसरे में स्विच) जबकि मेरे पास कुछ फाइलें पहले से खोली गई हैं? एक एक्सटेंशन के रूप में, जब मैं फाइलें खोलता हूं, तो मैं vimrc (यानी, किसी भी vimrc का उपयोग न करें) की लोडिंग को कैसे बंद कर सकता हूं?

+1

'स्रोत फ़ाइल नाम 'काम नहीं कर रहा है? – Adrian

+0

विम लोड होने पर vimrc को एक बार सोर्स किया जाता है। इसे फिर से सोर्स नहीं किया जाता है (जब तक आप इसे मैन्युअल रूप से स्रोत नहीं करते)। (इसलिए मुझे लगता है कि आपके प्रश्न का उत्तर यह नहीं है कि आप नहीं कर सकते) – FDinoff

+0

@Adrian नहीं यह नहीं है। –

उत्तर

27

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

यदि आप किसी अन्य वातावरण चाहते हैं, सिर्फ एक और पर्यावरण का उपयोग करें:

$ vim     <-- starts Vim normally, reading ~/.vimrc 
$ vim -u ~/.vimsqlrc <-- starts Vim using your alternative vimrc 
$ vim -u NONE   <-- starts Vim without any vimrc 
$ vim -u NORC   <-- starts Vim without any vimrc, but with plugins 

लेकिन मुझे डर है कि आप बंद करो और उस के लिए विम पुनरारंभ करना होगा हूँ।

वैसे भी, आपके प्रश्न में बहुत मजबूत XY problem गंध है। क्या आप *.sql फ़ाइलों के लिए विशिष्ट सेटिंग्स चाहते हैं?

अगर वह अपने लक्ष्य है, तो आप अपनी सेटिंग्स ~/.vim/after/ftplugin/sql.vim में इस तरह रख सकते हैं:

setlocal autoindent 
nnoremap <buffer> <F6> :echo "F6"<CR> 

मैपिंग के लिए विकल्प के लिए setlocal और <buffer> का उपयोग सुनिश्चित करता है कि अपनी सेटिंग्स केवल *.sql फ़ाइलों के लिए लागू होते हैं।

+0

अपनी आखिरी टिप्पणी के साथ यह वही है जो वह – FDinoff

+0

@FDinoff चाहता है, हाँ, टिप्पणियों की संख्या बढ़ने के दौरान मैंने सोचा था। – romainl

+0

@romainl बिल्कुल * .sql फ़ाइलें नहीं। मान लें कि मेरे पास एक फाइल है जिसमें एसक्यूएल स्टेटमेंट्स हर यहां और वहां बिखरे हुए हैं। अब, जब भी मैं ऐसी फ़ाइल को संपादित करना चाहता हूं, तो डिफ़ॉल्ट vimrc सेटिंग्स लागू होती हैं, भले ही मैं फ़ाइल खोलने के बाद एसक्यूएल के साथ चारों ओर झुकाऊ हो। –

संबंधित मुद्दे