सवाल फिर से शुरू किए बिना Vim में vvrrc को पुनः लोड करें


जब मैंने कुछ लिखा तो यह मुझे परेशान करता है .vimrc और मुझे इसे पहले बंद करना होगा और मेरे परिवर्तनों को लागू करने के लिए खोलना होगा। क्या पुनः लोड करने का कोई तरीका है .vimrc इसे बंद किए बिना विम में?

जैसे मैंने जोड़ लिया है set nu सेवा मेरे ~/.vimrc और मैं अपनी सभी खिड़कियों और बफरों के लिए लाइन नंबर दिखाना चाहता हूं।


83
2018-05-22 08:34


मूल




जवाब:


:source ~/.vimrc

अंदरूनी vim से भागो, यह आपके लागू होगा .vimrc

वैकल्पिक रूप से

:source $MYVIMRC


114
2018-05-22 08:39





यहां वंशावली के लिए एक है। अपने .vimrc में निम्नलिखित जोड़ें:

map <leader>vimrc :tabe ~/.vim/.vimrc<cr>
autocmd bufwritepost .vimrc source $MYVIMRC

पहली पंक्ति का मतलब है कि आप अपने नेता को टाइप करके अपने vimrc को किसी भी विम बफर से खोल सकते हैं, फिर "vimrc" लिख सकते हैं। उदाहरण के लिए, मेरा नेता अल्पविराम पर सेट है, इसलिए यदि मैं संपादन मोड में हूं और मैं टाइप करता हूं, "vimrc" यह मेरे vimrc को एक नए टैब में खुलता है।

दूसरी पंक्ति स्वचालित रूप से आपके Vimrc में परिवर्तनों को स्रोत करती है जब आप इसे सहेजते और बंद करते हैं। यह जादू है।


18
2018-01-28 03:56



आदर्श रूप से आप नहीं करेंगे map <leader>vimrc :tabe $MYVIMRC<cr> autocmd से मिलान करने के लिए? - Nick Bisby
मेरे लिए @NickBisby ~/.vimrc स्रोतों का सिर्फ एक स्टब है ~/.vim/.vimrc ताकि मैं सबकुछ स्रोत नियंत्रण में रख सकूं। ज्यादातर लोगों के लिए आप सही हैं, यह होगा :tabe $MYVIMRC<cr>। - Dean
वैकल्पिक रूप से आप इसे एक वास्तविक होने के बजाय अपनी वास्तविक। Vimrc फ़ाइल के प्रतीकात्मक लिंक का उपयोग कर सकते हैं। - Spoike
मैं अपने कर्सर की स्थिति को बदले बिना vimrc को फिर से लोड कैसे कर सकता हूं? - SergioAraujo


:so %

अगर वर्तमान में संपादन .vimrc


12
2017-08-29 04:54





" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>

सेवा मेरे खुद ब खुद सहेजने पर पुनः लोड करें, अपने लिए निम्नलिखित जोड़ें $MYVIMRC:

if has ('autocmd') " Remain compatible with earlier versions
 augroup vimrc     " Source vim configuration upon save
    autocmd! BufWritePost $MYVIMRC source % | echom "Reloaded " . $MYVIMRC | redraw
    autocmd! BufWritePost $MYGVIMRC if has('gui_running') | so % | echom "Reloaded " . $MYGVIMRC | endif | redraw
  augroup END
endif " has autocmd

और फिर आखिरी बार, टाइप करें:

:so %

अगली बार जब आप अपना बचा लेंगे vimrc, यह स्वचालित रूप से पुनः लोड हो जाएगा।

विशेषताएं:

  • उपयोगकर्ता को बताता है कि क्या हुआ है (लॉग इन भी :messages)
  • विन्यास फाइलों के लिए विभिन्न नाम संभालती है
  • यह सुनिश्चित करता है कि यह केवल वास्तविक कॉन्फ़िगरेशन फ़ाइल से मेल खाता है (अन्य निर्देशिकाओं में प्रतियों को अनदेखा करता है, या ए fugitive:// अंतर)
  • उपयोग करते समय त्रुटि उत्पन्न नहीं होगी vim-tiny

बेशक, स्वचालित रीलोड केवल तभी होगा जब आप अपना संपादित करेंगे vimrc विम में


4
2017-09-02 14:20