2012-05-01 11 views
5

मैं विम के साथ एक फाइल संपादित कर रहा था। मैंने एक ही फ़ाइल को संपादित करने के लिए एक और vim शुरू किया, यह कहा कि /tmp/file.swp बाहर निकलता है, इसे पुनर्प्राप्त करने के लिए "आर" दबाएं। मैंने ठीक होने का फैसला किया। लेकिन उसके बाद, वाक्यविन्यास हाइलाइट उस फ़ाइल पर काम नहीं करता था (अन्य फाइलें अभी भी ठीक है)। मैंने कोशिश की: सिंटैक्स पर और कुछ कमांड्स लेकिन काम नहीं किया।विम - इंडेंट और सिंटैक्स हाइलाइट फ़ाइल पुनर्प्राप्त करने के बाद टूटा

+0

धन्यवाद .. मेरे पास एक ही समस्या थी। – Abhinav

उत्तर

6

आप प्रकार प्रकार निर्दिष्ट करने निम्न आदेश का उपयोग करने की कोशिश कर सकते हैं। ग फ़ाइल के लिए उदाहरण के लिए:

:set filetype=c 
+0

उत्तर के लिए धन्यवाद। लेकिन क्या आप समझ सकते हैं कि यह swp फ़ाइल रिकवरी चलाने के बावजूद क्यों हुआ। – Abhinav

0

सही सिंटैक्स के लिए फ़ाइल प्रकार निर्धारित करने की आवश्यकता हो सकती है:

" C syntax: 
:set ft=c 

" Java syntax: 
:set ft=java 

" Python syntax: 
:set ft=py 

" ... etc. 
0

आप :e % जो वर्तमान फ़ाइल को संपादित करता टाइप करके फिर से सभी autocommands चलाने के लिए बफर खुला प्रक्रिया को फिर से चला सकते हैं। यह सभी bufread * ऑटो कमांड चलाएगा और आप सब कुछ वापस मिल जाएगा। मेरा मानना ​​है कि अगर वे पुनर्प्राप्त फ़ाइल में कुछ बुरा है और कस्टम ऑटोकॉम्पैंड दूषित फाइल के साथ कुछ खराब कर सकते हैं तो वे जानबूझकर अक्षम हैं।

1

अचानक अचानक दुर्घटना के बाद मुझे एक विम बफर पुनर्प्राप्त करना पड़ा। जबकि फ़ाइल सही ढंग से पुनर्प्राप्त की गई थी, मैं सिंटैक्स हाइलाइटिंग के लिए ऐसा नहीं कह सकता था। (मुझे पूरा यकीन है कि यह भाषा-निर्भर नहीं है, लेकिन पूर्णता के लिए मेरी फ़ाइल एक पायथन लिपि थी।)

मेरे ज्ञान के लिए यह समस्या अक्सर सत्रों के कारण होती है, stated in this similar question, या सिंटैक्स हाइलाइटिंग जो गलत तरीके से लोड की गई थी । हालांकि vim views यह भी प्रभावित करता है कि संपादक में फ़ाइल कैसे प्रदर्शित होती है। यह उन लोगों के लिए विशेष रूप से सच है, मेरे जैसे, जो automatise the loading of previously stored views पर जाते हैं। इस हंच के बाद मैंने अपनी संग्रहीत दृश्य फ़ाइल हटा दी और समस्या हल की।

कृपया ध्यान दें इस समाधान स्पष्ट रूप से लागत से आता है: फ़ाइल एक ताजा दृश्य, जिसका अर्थ है कोई पिछले लेआउट के साथ खोला जाएगा (कर्सर की स्थिति, खोला/बंद कर दिया fols, आदि) vim द्वारा याद रखा जाएगा। यह बहुत स्पष्ट है लेकिन मैंने सोचा कि मैं इसका उल्लेख भी करूंगा।

2

मैं इसे सरल तरीके से हल करता हूं।

मैं फ़ोल्डर जो ~/.vim/दृश्य खोजने/और py फ़ाइल जो मैं सिर्फ बरामद बारे में रिकॉर्ड को दूर ...

cd ~/.vim/view && ls -alh | grep filename_1 | awk '{print $9}' | xargs rm 

आप बदल सकते हैं कि आप की तरह के रूप में ... सिर्फ एक डेमो।

:)

संबंधित मुद्दे