पुनः लोड के बिना विम में पुनः लोड .vimrc


93

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

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

जवाबों:



18

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

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

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

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


1
आदर्श रूप से आप map <leader>vimrc :tabe $MYVIMRC<cr>ऑटोकैमड से मेल नहीं खाते हैं?
निक बस्बी

मेरे लिए @NickBisby ~/.vimrcसिर्फ एक ठूंठ है जो स्रोतों से है ~/.vim/.vimrcताकि मैं सब कुछ स्रोत नियंत्रण में रख सकूं । ज्यादातर लोगों के लिए आप सही हैं, यह होगा :tabe $MYVIMRC<cr>
डीन

1
वैकल्पिक रूप से आप अपने वास्तविक .vimrc फ़ाइल के लिए एक प्रतीकात्मक लिंक का उपयोग करने के बजाय इसे स्टब कर सकते हैं।
स्पिकाइ

मैं अपने कर्सर की स्थिति को बदले बिना vimrc को कैसे पुनः लोड कर सकता हूं?
सर्जियोअराउजो


4
" 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विम को संपादित करेंगे ।

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