मैं .vimrc को Vim 7.4 के साथ तुरंत कैसे प्रभावी बना सकता हूँ?


9

highlightमेरी .vimrcफाइल में कई कमांड हैं । विम 7.3 में, विम शुरू होने के तुरंत बाद ये प्रभावी हो गए। Vim 7.4 में अपडेट होने के बाद, यह अब ऐसा नहीं है। विम शुरुआत में अपने डिफ़ॉल्ट हाइलाइटिंग का उपयोग करता है। जब मैं .vimrcनिष्पादित करके दूसरी बार लोड source ~/.vimrcकरता हूं, तो हाइलाइटिंग काम करता है जैसा मैं चाहता हूं।

आपको निम्न चरणों का उपयोग करके इस समस्या को पुन: उत्पन्न करने में सक्षम होना चाहिए:

  1. अपनी .vimrcफ़ाइल की एक प्रतिलिपि बनाएँ ।

  2. ~/.vimrcएक ऐसी फ़ाइल से बदलें जिसमें सिर्फ रेखा हो highlight Type ctermfg=28 cterm=bold

  3. vim dummy.cएक 256 रंग टर्मिनल (उदाहरण के लिए गनोम टर्मिनल) में चलाएं ।

  4. intबफर में टाइप करें । intनियमित रूप से फ़ॉन्ट में दिखाई देना चाहिए और हल्के हरे रंग का होना चाहिए, जो कि मैं नहीं चाहता।

  5. दर्ज करें :source ~/.vimrc। अब intबोल्ड फॉन्ट में दिखना चाहिए और गहरे हरे रंग का होना चाहिए।

लेख के अनुसार , विम रंगों को कैसे नियंत्रित / कॉन्फ़िगर किया जाए, यह केवल highlightकमांड्स में डालने के लिए ठीक होना चाहिए .vimrc। लेख कहता है कि आपको आज्ञाओं के syntax enableबाद रखना चाहिए highlight, लेकिन इससे कोई फर्क नहीं पड़ा ।

मेरी पहली ठीक प्रत्येक पहले जोड़ें के लिए गया था highlightमें आदेश .vimrcके साथ autocmd VimEnter *। यह कुछ फ़ाइल प्रकारों के लिए काम करता है, लेकिन दूसरों के लिए नहीं (सी फाइलें एक उदाहरण हैं)।

इस व्यवहार का कारण क्या है? highlightजब विम को शुरू किया जाता है तो मैं कैसे कमांड कर सकता हूं ताकि वे पूरे विम सत्र के दौरान सभी बफ़र्स के लिए प्रभावी हों?



हां, जब set compatibleशुरुआत में जोड़ते हैं .vimrc, तो सिंटैक्स हाइलाइटिंग उम्मीद के मुताबिक काम करता है। तो यह वास्तव में कार्रवाई में इस बग लगता है।
वोल्फगैंग जेल्टश

मैंने highlightआदेशों को पूर्व में दे दिया है autocmd ColorScheme *, जिसे बग रिपोर्ट में वर्कअराउंड के रूप में प्रस्तावित किया गया था। यह अभी भी काम नहीं करता है। ☹
वोल्फगैंग Jeltsch

मैं अब अपनी स्वयं की रंग योजना लिख ​​रहा हूं, जो जाहिर तौर पर इस बग के आसपास भी काम करती है।
वुल्फगैंग जेल्स्च

ईसाई, क्या आप अपनी टिप्पणी केवल एक उत्तर के रूप में लिख सकते हैं? आखिरकार, यह मेरी समस्या का सही जवाब है। या क्या उन सवालों से निपटने के लिए कोई अन्य दृष्टिकोण है जो वास्तव में बग को प्रकट करते हैं?
वुल्फगैंग जेल्त्च

जवाबों:


5

यह कोई निश्चित उत्तर नहीं है और आपकी समस्या अंक 542 जैसी लगती है । जाहिरा तौर पर आप इसके चारों ओर काम कर सकते हैं, अपने स्वयं के मूल रंग गम लिखकर, बजाय hi ...सीधे उन बयानों को लिखने के बजाय .vimrc में।


मुझे लगता है कि यह इस विम मुद्दे के कारण है; इसलिए आपकी प्रतिक्रिया वास्तव में मेरी समस्या का सही उत्तर है।
वुल्फगैंग जेल्स्च

3

वास्तव में आपको अपने कस्टम हाइलाइट्स को अपने vimrc में नहीं बल्कि कस्टम सिंटैक्स फ़ाइलों में रखना चाहिए।

इन फाइलों को उस जगह पर स्थित किया जाना चाहिए ~/.vim/after/syntax/filetype.vimजहां filetypeअपेक्षित फ़िलाटाइप है। यदि आप ज्यादातर सिंटैक्स फ़ाइल से संतुष्ट हैं, लेकिन कुछ कमांड जोड़ना चाहेंगे, तो आप इन चरणों का पालन कर सकते हैं (से लिया गया :h mysyntaxfile-add):

  1. "के बाद / वाक्य रचना" नामक एक निर्देशिका बनाएँ। यूनिक्स के लिए:

    mkdir ~/.vim/after
    mkdir ~/.vim/after/syntax
    
  2. एक Vim स्क्रिप्ट लिखें जिसमें वह कमांड्स हैं जिनका आप उपयोग करना चाहते हैं। उदाहरण के लिए, सी सिंटैक्स के लिए रंग बदलने के लिए:

    highlight cComment ctermfg=Green guifg=Green
    
  3. उस फाइल को "आफ्टर / सिंटैक्स" डायरेक्टरी में लिखें। ".Vim" जोड़ा के साथ वाक्य रचना के नाम का उपयोग करें। हमारे सी वाक्यविन्यास के लिए:

    :w ~/.vim/after/syntax/c.vim
    

बस। अगली बार जब आप एक सी फाइल को एडिट करेंगे तो कमेंट का रंग अलग होगा। तुम भी विम को पुनः आरंभ करने की जरूरत नहीं है।

:h mysyntaxfileअपनी सिंटैक्स फ़ाइलों को सही करने के बारे में जानकारी प्राप्त करने के लिए एक अच्छी जगह है। इस विषय पर कई अध्याय के रूप में विम्सस्क्रिप्ट द हार्ड वे भी जानें


3
क्या होगा यदि मैं सभी फ़ाइल प्रकारों के लिए हाइलाइटिंग को बदलना चाहता हूं। उदाहरण के लिए, मैं चाहता हूं कि टिप्पणियों का रंग गहरा नीला हो, चाहे फ़ाइल प्रकार कोई भी हो।
वुल्फगैंग जेल्त्च

मैंने आपके द्वारा सुझाए गए दृष्टिकोण को कम या ज्यादा करने की कोशिश की। मैंने एक फ़ाइल जोड़ी .vimrc/highlighting.vim, एक निर्देशिका बनाई .vimrc/syntax/afterऔर फॉर्म * filetype * के कई प्रतीकात्मक लिंक जोड़े .vimजो .vimrc/highlighting.vimइस निर्देशिका की ओर इशारा करते हैं । सिंटेक्स हाइलाइटिंग अभी भी काम नहीं करता है।
वोल्फगैंग जेल्त्च

अपनी पोस्ट के रूप में @WolfgangJeltsch हाँ और डॉक कहते निर्देशिका होना चाहिए ~/.vim/after/syntaxनहीं~/.vimrc
statox

यह सही है। हालाँकि, यह मेरी टिप्पणी में केवल एक टाइपो था। वास्तव में, मैंने डायरेक्टरी में काम किया .vimऔर वाक्य रचना हाइलाइटिंग से काम नहीं चला, शायद इस बग 542 के कारण।
वोल्फगैंग जेल्त्स्क

नहीं! काम नहीं कर रहा।
यार

1

इसके लायक क्या है, मुझे मैकविम (8.1.950 (155)) के साथ यह समस्या थी। .Vimrc के बाद हाइलाइट स्टेटमेंट colorschemeको मेरे लिए तय करना। उदाहरण के लिए:

highlight SpellCap guisp=Yellow
...
colorscheme evening

->

colorscheme evening
...
highlight SpellCap guisp=Yellow

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