मेरी .vimrc फ़ाइल कहाँ है?


437

मैं विम का उपयोग कर रहा हूं , और मैं वास्तव में अपनी सेटिंग्स को बचाना चाहूंगा। मेरे पास जो समस्या है वह यह है कि मैं अपनी .vimrc फ़ाइल नहीं ढूँढ सकता, और यह मानक /home/user/.vimrcस्थान पर नहीं है। मुझे यह फ़ाइल कैसे मिल सकती है?


21
यदि यह नहीं है, तो इसे बनाएं।

10
मेरी उबंटू मशीन में एक फ़ाइल नाम की थी /usr/share/vim/vimrc
cjjbgames

जवाबों:


513

आपको इसे बनाने की आवश्यकता है। अधिकांश स्थापनाओं में मैंने इसका उपयोग किया है जो डिफ़ॉल्ट रूप से नहीं बनाई गई हैं

आप आमतौर पर इसे बनाते हैं ~/.vimrc


17
/ check / etc / vim / vimrc
Natesh bhat

@ नतांश: क्या मुझे इसका उपयोग करते रहना चाहिए /etc/vim/vimrcया इसकी नकल करनी चाहिए ~/.vimrc? या मेरे पास दोनों हो सकते हैं?
मोहम्मद फैसल

यदि आप इसे अनुकूलित करना चाहते हैं, तो मैं इसे पहले स्थानीय रूप से कॉपी करूंगा। अन्यथा आप सभी उपयोगकर्ताओं के लिए सेटिंग्स बदल रहे हैं।
AlG

353

ये विधियाँ काम करती हैं, यदि आपके पास पहले से .vimrc फ़ाइल है:

:scriptnamesउन सभी .vim फ़ाइलों को सूचीबद्ध करें जो विम ने आपके लिए लोड की हैं, जिसमें आपकी .vimrcफ़ाइल भी शामिल है।

:e $MYVIMRCवर्तमान .vimrc को खोलें और संपादित करें जिसे आप उपयोग कर रहे हैं, फिर स्टेटस बार में पथ देखने के लिए Ctrl+ Gका उपयोग करें ।


7
@MorganWilde जरूरी नहीं है, :scriptnamesऔर :e $MYVIMRCदोनों मेरे लिए खाली आउटपुट लौटाते हैं।
रोहमर

1
के लिए +1 :scriptnames। हालांकि $MYVIMRC, सेट करने की गारंटी नहीं है, उदाहरण के लिए जब विम के साथ शुरू होता है vim -u filename
1983

4
: scriptnames में vimrc है, लेकिन .vimrc नहीं, क्या वे समान हैं? मैं उन्हें अपने usr / शेयर फ़ोल्डर में स्थित पाता हूं, ~ / .vimrc (जैसा कि स्वीकृत उत्तर) जोड़ रहा हूँ, तब भी कुछ और आगे विन्यास के बिना कर सकते हैं? क्या ऐसा तरीका है कि उपयोगकर्ता विशिष्ट विकल्पों को vimrc में जोड़ें?
टायलर

14
ध्यान दें कि :e $MYVIMRCकेवल तभी काम करता है जब vimrcपहली जगह में कोई फ़ाइल हो। अन्यथा यह एक फ़ाइल का शाब्दिक रूप से कहा जाने वाला संपादन शुरू कर देगा $MYVIMRC
तोमलक

1
@ शादोनिन्जा - यह "आपकी" नहीं थी, यह वैश्विक rcफ़ाइल है। आप जो कुछ भी अपनी .vimrcफ़ाइल में परिभाषित करते हैं (अपने घर निर्देशिका में ज्यादातर मामलों में) में चूक को ओवरराइड करेंगे /etc/vimrc
मैथगुई

92

संक्षिप्त जवाब:

अपना vimrc बनाने के लिए, Vim शुरू करें और निम्न में से एक करें:

:e $HOME/.vimrc  " on Unix, Mac or OS/2

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

इच्छित सेटिंग्स डालें, और फ़ाइल को सहेजें।

ध्यान दें कि इस फ़ाइल का निर्गमन compatibleविकल्प को निष्क्रिय कर देगा । विवरण के लिए नीचे देखें।

लंबा जवाब:

Vimrc के दो प्रकार हैं:

  • उपयोगकर्ता vimrc में$HOME
  • प्रणाली vimrc में $VIM(Amiga सिस्टम पर, s:.vimrcएक उपयोगकर्ता vimrc माना जाता है)

उपयोगकर्ता vimrc फ़ाइल अक्सर उपयोगकर्ता द्वारा बनाए जाने तक मौजूद नहीं होती है। अगर आपको $HOME/.vimrc(या $HOME/_vimrcविंडोज पर) नहीं मिल रहा है , तो आप कर सकते हैं, और शायद, बस इसे बनाएं।

सिस्टम vimrc को सामान्य रूप से अनमॉडिफाइड छोड़ दिया जाना चाहिए और $VIM* निर्देशिका में स्थित है । सिस्टम vimrc एक अच्छी जगह नहीं है जहाँ आप अपनी व्यक्तिगत सेटिंग रखते हैं। यदि आप इस फ़ाइल को संशोधित करते हैं तो आपके परिवर्तन कभी भी विम को अपग्रेड करने पर अधिलेखित हो सकते हैं। साथ ही, यहां परिवर्तन बहु-उपयोगकर्ता प्रणाली पर अन्य उपयोगकर्ताओं को प्रभावित करेगा। ज्यादातर मामलों में, उपयोगकर्ता vimrc में सेटिंग्स सिस्टम vimrc में सेटिंग्स को ओवरराइड करेगा।

से :help vimrc:

एक फ़ाइल जिसमें इनिशियलाइज़ेशन कमांड होते हैं, उसे "vimrc" फ़ाइल कहा जाता है। Vimrc फ़ाइल में प्रत्येक पंक्ति को Ex कमांड लाइन के रूप में निष्पादित किया जाता है। इसे कभी-कभी "exrc" फ़ाइल के रूप में भी संदर्भित किया जाता है। वे एक ही प्रकार की फ़ाइल हैं, लेकिन "exrc" वही है जो Vi हमेशा उपयोग किया जाता है, "vimrc" एक विशिष्ट नाम है। यह भी देखें | vimrc-intro |

आपके व्यक्तिगत आरंभिक स्थानों के लिए:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
    OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
                    or $VIM/.vimrc (or _vimrc)
    MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
                    or $VIM/_vimrc
    Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
                    or $VIM/.vimrc

फ़ाइलों को ऊपर निर्दिष्ट क्रम में खोजा जाता है और केवल पहला जो पाया जाता है वह पढ़ा जाता है।

(MacOS उपरोक्त के लिए यूनिक्स के रूप में गिना जाता है।)

ध्यान दें कि उपयोगकर्ता vimrc का मात्र अस्तित्वcompatible विकल्प को बंद करके विम के व्यवहार को बदल देगा । से :help compatible-default:

जब विम शुरू होता है, तो 'संगत' विकल्प चालू होता है। इसका उपयोग तब किया जाएगा जब विम अपनी शुरुआती शुरुआत करेगा। लेकिन जैसे ही एक उपयोगकर्ता vimrc फ़ाइल मिलती है, या वर्तमान निर्देशिका में एक vimrc फ़ाइल, या "VIMINIT" पर्यावरण चर सेट किया जाता है, इसे 'nocompatible' पर सेट किया जाएगा। यह अन्य विकल्पों को स्थापित करने या रीसेट करने का दुष्प्रभाव है (देखें 'संगत')। लेकिन केवल विकल्प जो सेट या रीसेट नहीं किए गए हैं, उन्हें बदल दिया जाएगा।


* $VIMआपके शेल में सेट नहीं किया जा सकता है, लेकिन हमेशा विम के अंदर सेट किया जाता है। यदि आप यह देखना चाहते हैं कि यह किस पर सेट है, तो Vim शुरू करें और कमांड का उपयोग करें:echo $VIM


28

अतिरिक्त जानकारी के रूप में, ज्यादातर macOS में, .vimrc फ़ाइल निर्देशिका में स्थित है:

/usr/share/vim/.vimrc

25
यह प्रणाली vimrc है। $ घर / .vimrc को संपादित करना बेहतर है, और यदि यह पहले से मौजूद नहीं है, तो इसे बनाने के लिए।
लारेंस गोंसाल्वेस 18

1
अगर .vimrc फ़ाइल होम डायरेक्टरी में नहीं बनाई गई है तो vi संदर्भ /usr/share/vim/.vimrcफ़ाइल उपयोग के लिए।
संदीप

उबंटू में भी, जैसा कि मैंने पाया।
cjjbgames

25
:echo($MYVIMRC)

आपको अपनी .vimrc फ़ाइल का स्थान देगा।

:e $MYVIMRC

इसे खोल देंगे।


1
अप्रत्याशित टोकन '$ MYVIMRC' के पास सिंटैक्स त्रुटि: मैं वापस समझें: -bash
Yannis Dran

@YannisDran - उम्म, क्या?
रुके

@ इडीगास मैं टाइप कर रहा था: मेरी कमांड विंडो पर इको (एक्सएक्सएक्स) लेकिन मुझे एहसास हुआ कि अब आपको इसका मतलब विम एडिटर में लिखना है। हालांकि, भले ही: ई एक्सएक्सएक्स काम करता है: इको (एक्सएक्सएक्स) नहीं करता है। यह कहते हैं कि E121 अपरिभाषित चर: xxx E15: अमान्य अभिव्यक्ति: ($ xxx)
यानिस ड्रान

@YannisDran - बस स्पष्ट होने के लिए, आपको टाइपिंग पर वह त्रुटि मिली: इको ($ myvimrc) विम कमांड लाइन में? नहीं: किसी भी संयोग से इको (myvimrc)?
रूक

1
मैं $ का उपयोग करता हूं और मैंने इसे vi संपादक में किया है (टाइपिंग: कमांड लाइन को सक्षम करता है)। Btw, अब विम कुछ भी नहीं प्रतिक्रिया करता है, यह केवल सूचक को विम की पहली पंक्ति में रखता है। (पर OSX विम-Vi बेहतर v.7.3)
Yannis Dran

15

जो भी कारण के लिए, इन जवाब मेरे लिए काफी काम नहीं किया। इसके बजाय मेरे लिए यह काम किया है:

Vim में, :versionकमांड आपको सिस्टम और यूजर vimrc और gvimrc फाइल्स (अन्य चीजों के बीच) के रास्ते देता है, और आउटपुट कुछ इस तरह दिखता है:

 system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"
    user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
  user gvimrc file: "$HOME/.gvimrc"

जो आप चाहते हैं user vimrc file: "$HOME/.vimrc"

तो फ़ाइल को संपादित करने के लिए: vim $HOME/.vimrc

स्रोत: vimrc फ़ाइल खोलें


2
मुझे समझ में नहीं आता है कि कैसे मौजूदा उत्तर आपके लिए बहुत काम नहीं करते हैं जब वास्तव में आपके द्वारा प्रस्तावित समाधान पहले से ही उनके द्वारा कवर किया जाता है। इस उत्तर का उल्लेख है $HOME/.vimrcऔर शीर्ष उत्तर का उल्लेख है ~/.vimrcजो कि जैसा है वैसा ही है $HOME/.vimrc
डबलडाउन

आपसे पूरी तरह सहमत हैं। जब मेरा उत्तर संपादित हुआ तो मेरे कहने का अर्थ क्या था
हारून अल्फोंस

11

ओपन विम, और सामान्य मोड प्रकार में:

:echo $VIM


मेरे लिए यह केवल आउटपुट है /usr/share/vim। संस्करण 8.2.100, आर्क लिनक्स।
यारोस्लाव निकितेंको

यह आपको बताता है कि आपका सिस्टम vimrc किस निर्देशिका में स्थित है, लेकिन यह आपको यह नहीं बताता है कि आपका उपयोगकर्ता vimrc कहाँ जाना चाहिए, या उसका नाम क्या होना चाहिए।
22

खैर, सवाल "जहां" vimrc फ़ाइल है। उपयोगकर्ता vimrc कहाँ जाना चाहिए? इसे डालें ~/.vimrcया ~/.vim/vimrc, ध्यान दें कि बाद वाले के सामने डॉट नहीं है।
आडेम

8

यूनिक्स पर vim --versionआप विम फ़ाइलों के विभिन्न स्थानों को बताता है:

   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"

यह सत्यापित कर सकता है कि यह VIM के साथ काम करता है जो विंडोज के लिए Git के साथ बंडल करता है। (यह केवल इसलिए ध्यान में रखते हुए कि एक एसओ उत्तर इतना मान सकता है कि GET बैश में DOESN'T काम नहीं करता है।)
जेनेट

5

यहाँ कुछ और सुझाव दिए गए हैं:

  • में आर्क लिनक्स वैश्विक एक पर है /etc/vimrc। सहायक विवरण के साथ वहां कुछ टिप्पणियां हैं।

  • चूंकि फ़ाइल नाम एक से शुरू होता है ., यह तब तक छिपा रहता है जब तक आप ls -aसभी फ़ाइलों को दिखाने के लिए उपयोग नहीं करते हैं ।

  • :versionविम में टाइप करते समय आपको फ़ाइल स्थान सहित दिलचस्प जानकारी का एक गुच्छा दिखाई देगा।

  • यदि आप सुनिश्चित नहीं हैं कि इस प्रश्न का क्या ~/.vimrcअर्थ है ।


5

मैं साझा करना चाहूंगा कि मैंने मैक पर डिफ़ॉल्ट के रूप में लाइन नंबर कैसे दिखाया है।

  1. एक टर्मिनल में, टाइप करें cd। यह आपको होम फोल्डर पर जाने में मदद करेगा।
  2. टर्मिनल में, टाइप करें vi .vimrc। यह एक खाली vimrc सिस्टम फाइल बनाएगा जिसे आप उपयोग करना चाहते हैं।
  3. फ़ाइल में, टाइप करें set number, और फिर Escकीबोर्ड पर हिट करें और टाइप करें :wq। यह डिफ़ॉल्ट सेटिंग फ़ाइल में दिखाए गए लाइन नंबर को सेट करेगा vimrcऔर इसे बचाएगा।
  4. vi somethingयह देखने के लिए कि क्या यह काम करता है। यदि नहीं, तो टर्मिनल को पूरी तरह से पुनरारंभ करने का प्रयास करें।

यदि किसी टर्मिनल में, टाइप करें cd /usr/share/vim/, तो उस फ़ोल्डर में जाएं, और टाइप करें ls। आप सीधे vimrc नामक फाइल देख सकते हैं। लेकिन यह एक सिस्टम फाइल है जो केवल पढ़ने के लिए कहती है। मुझे लगता है कि इसे संशोधित करने का प्रयास करना अच्छा नहीं है। तो अपने आप से एक vimrc बनाने के लिए उपरोक्त चरणों का पालन करना बेहतर है। इसने मेरे लिए काम किया।


एक बात जो मुझे अपने CentOS7 इंस्टॉल के लिए उपरोक्त में बदलने की आवश्यकता थी: चरण 1 के बाद, "सीडी उपयोगकर्ता नाम" टाइप करें।
होल्डऑफ ह्यूंगर

2

मैंने पिछले उत्तर में सब कुछ करने की कोशिश की और एक .vimrcफ़ाइल नहीं मिली , इसलिए मुझे एक बनाना पड़ा।

मैं, उदाहरण के फ़ाइल की प्रतिलिपि cp vimrc_example.vim ~/.vimrc

मुझे फ़ाइल बनाना था, जिससे कॉपी /usr/share/vim/vim74/vimrc_example.vimकरना था ~/.vimrc। वे vimrc_exampleफाइल में निर्देश थे ।

मेरा समाधान अन्य ऑपरेटिंग सिस्टम के लिए यूनिक्स के लिए है। विम प्रलेखन के अनुसार, आपका गंतव्य पथ निम्नानुसार होना चाहिए:

    For Unix and OS/2   : ~/.vimrc
    For Amiga           : s:.vimrc
    For MS-DOS and Win32: $VIM\_vimrc
    For OpenVMS         : sys$login:.vimrc

1

Cmd (विंडोज) से:

C\Users\You> `vim foo.txt`

अब विम में टाइप करके कमांड मोड डालें: " : " (यानी Shift+ ;)

:tabedit $HOME/.vimrc

यह यूएस लेआउट के साथ एक कीबोर्ड का अनुमान लगाता है।
पीटर मोर्टेंसन

1

Vimrc में फ़ाइल Ubuntu ( 12.04 (सटीक छिपकली) ) : मैंने कोशिश की :scriptnamesविम में, और यह दोनों से पता चलता /usr/share/vim/vimrcहै और ~/.vimrc

लेकिन मैंने मैन्युअली बनाया था ~/.vimrc


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.