2013-02-08 52 views
7

मैं कुछ पायथन फ़ाइलों को संपादित करने के लिए विम का उपयोग कर रहा हूं और हाल ही में यह स्पोरैडिक रूप से होता है कि बफर को vim के अंदर सहेजने के बाद सिंटैक्स हाइलाइटिंग गायब हो जाती है। मैंने syntax on और set filetype=python को रीसेट करने का प्रयास किया लेकिन इसका कोई फायदा नहीं हुआ। मुझे इस समस्या का कोई कारण नहीं है कि इस समस्या का कारण क्या है, इसलिए अभी मेरे पास न्यूनतम नैदानिक ​​जानकारी है। लेकिन क्या किसी ने इससे पहले सामना किया है, या चीजें कहां टूट सकती हैं?फ़ाइल बचत के दौरान सिंटैक्स हाइलाइटिंग यादृच्छिक रूप से गायब हो जाती है

+0

आप अपने vimrc पोस्ट कर सकते हैं? – mindvirus

+0

और क्या प्लगइन्स? – Kevin

+0

@mdkess यह काफी लंबा है, मैं इसे पेस्टबिन पर अपलोड करता हूं http://pastebin.com/dggSfKkX – nye17

उत्तर

5

यह कोई समाधान नहीं है, लेकिन टिप्पणियों में लिखना/पढ़ना मुश्किल है।

मेरा मतलब था कि जब मैं अपना खुद का .vimrc ठीक करना शुरू करता हूं, तो मैं वाक्यविन्यास/हाइलाइटिंग के साथ गड़बड़ कर रहा था, इसलिए मैंने इसे क्यों देखा।
syntax on/syntax enable केवल फाइल लोड सामान की तैयारी कर रहा है (au से BufNewFile/BufRead में बहुत कुछ जोड़ रहा है)। इसलिए यदि कुछ प्लगइन फ़ाइल लिखते समय वाक्यविन्यास/हाइलाइट सेटिंग्स के साथ गड़बड़ कर रहा है, तो फ़ाइल को सभी "जादू" होने के लिए फिर से लोड किया जाना चाहिए, यह filetype सेट करने के साथ पर्याप्त नहीं है। :au BufRead करें और आपको वाक्यविन्यास प्रारंभ करते समय जोड़े गए सभी ऑटोकॉन्मेंड्स दिखाई देंगे। लेकिन फाइल को सभी बसने के लिए लोड किया जाना चाहिए।
इस देखें:>syntax-loading

आप फ़ाइल को फिर से लोड करने के लिए, syntax enable कोशिश नहीं करना चाहते हैं, मुझे लगता है कि syntax on लिए अलग है।
या भी :doautocmd filetypedetect BufRead % करने का प्रयास करें, देखें>autocmd-execute

मैं क्या समस्या का कारण है पता नहीं है, तो यह आपको हो सकता है? यदि आपने कुछ autocommands जोड़े हैं, या अपने रंग/वाक्यविन्यास कर रहे हैं?
अन्यथा, जब तक आपको कोई समाधान न मिल जाए, तो आप शायद को अपने .vimrc के अंत में जोड़ने का प्रयास कर सकते हैं, उस मामले में augroup का उपयोग करें।

augroup myResetSyntax 
    au! 
    autocmd BufWritePost * syntax enable | doautocmd filetypedetect BufRead "%" 
augroup END 
1

अब कुछ समय के बाद मुझे लगता है मदहोश हाइलाइटिंग बल्कि किसी भी रहस्यमय फ़ाइल की बचत के साथ जुड़े बलों की तुलना में से तह के कारण होता है, तो उन्हें आसानी से ठीक * डाल करने के लिए होगा:

यहाँ एक उदाहरण है मेरे vimrc

noremap <F9> <Esc>:syntax sync fromstart<CR> 
inoremap <F9> <C-o>:syntax sync fromstart<CR> 

और जब भी कुछ खराब होता है तो F9 दबाएं।

  • समाधान here
2

से पता चला तुम भी बस बफर पुन: लोड करके वाक्य रचना को बहाल कर सकते हैं:

:e