क्यों vi स्पष्ट रूप से टूटा हुआ है (viminfo त्रुटि E576), और मैं इसे कैसे ठीक कर सकता हूं?


18

मैं यूनिक्स / लिनक्स का उपयोग करने में कुशल हूं, लेकिन मैं विशेषज्ञ नहीं हूं। यदि मैं एक फ़ाइल खोलना चाहता हूं (उदाहरण के लिए file.txt), मैं उपयोग करता हूं vi:

vi file.txt

यह फ़ाइल खोलता है, और यदि मैं इसे बंद करना चाहता हूं, तो मैं उपयोग करता हूं :q!। मैं दो साल से इस पद्धति का उपयोग कर रहा हूं जो मैं यूनिक्स / लिनक्स का उपयोग कर रहा हूं। मेरे संस्थान में उबंटू लिनक्स चल रहा है।

आज, हालाँकि, मैंने एक फ़ाइल खोलने की कोशिश की, और मुझे ये त्रुटि संदेश मिले:

E576: viminfo: Missing '>' in line: newest to oldest):
E576: viminfo: Missing '>' in line: ?/CJ
E576: viminfo: Missing '>' in line: ?/CG
E576: viminfo: Missing '>' in line: ?/CC
E576: viminfo: Missing '>' in line: ?/OEP
E576: viminfo: Missing '>' in line: ?/CEP
E576: viminfo: Missing '>' in line: ?/dih
E576: viminfo: Missing '>' in line: ?/ang
E576: viminfo: Missing '>' in line: ??b
E576: viminfo: Missing '>' in line: ?/xvg
E136: viminfo: Too many errors, skipping rest of file
Press ENTER or type command to continue

तो मैं दबाता हूं Enter। मुझे एक ही संदेश मिलता है:

E576: viminfo: Missing '>' in line: newest to oldest):
E576: viminfo: Missing '>' in line: ?/CJ
E576: viminfo: Missing '>' in line: ?/CG
E576: viminfo: Missing '>' in line: ?/CC
E576: viminfo: Missing '>' in line: ?/OEP
E576: viminfo: Missing '>' in line: ?/CEP
E576: viminfo: Missing '>' in line: ?/dih
E576: viminfo: Missing '>' in line: ?/ang
E576: viminfo: Missing '>' in line: ??b
E576: viminfo: Missing '>' in line: ?/xvg
E136: viminfo: Too many errors, skipping rest of file
Press ENTER or type command to continue

फिर से मैं दबाता हूं Enter, और अंत में फ़ाइल पढ़ने / संपादन के लिए खुलती है। हालाँकि, समस्या तब दोहराई जाती है जब मैं फ़ाइल का उपयोग करके बंद करने की कोशिश करता हूं :q!, और जब मैं किसी अन्य फ़ाइल का उपयोग करके खोलने की कोशिश करता हूं vi

कुंजी शब्द CJ, CG, CC, OEP, CEP, dih, ang, और xvg(मुझे यकीन है कि के बारे में नहीं कर रहा हूँ b, हालांकि) सभी स्ट्रिंग्स कि अक्सर फ़ाइलों में दिखाई देते हैं कि मैं का उपयोग कर पढ़ रहे हैं vi, हालांकि मैं कुछ नहीं कर रहा हूँ कि वे विशेष रूप से फ़ाइल में सभी अस्तित्व है कि मैं कर रहा हूँ उद्घाटन (मुझे ऐसा नहीं लगता है)। इस प्रकार, शायद मेरी viminfoफाइल में कुछ गड़बड़ है ? हालाँकि, मैं उपयोग कर रहा हूँvi , नहीं vim

मुझे यकीन नहीं है कि क्या हुआ है; क्या आपके पास कोई सुझाव है कि मैं कैसे निदान कर सकता हूं, और संभवतः इस समस्या को ठीक कर सकता हूं?


2
क्या आपका ~/.viminfoभ्रष्ट है? इसे कहीं और ले जाने की कोशिश करें और देखें कि समस्या वापस आती है या नहीं। कई प्रणालियों को ध्यान में रखें जो vimकेवल viएक सिम्लिंक के रूप में प्रदान करते हैं vim
jw013

2
मैं vi का उपयोग कर रहा हूं, विम का नहीं। क्या आपको यकीन है? viको अक्सर vim( उस स्थान पर which viऔर फिर से जाँचें) के लिए अलियास किया जाता है file
ire_and_curses

2
अधिकांश लिनक्स सिस्टम पर, vi विम के लिए एक सहानुभूति है, इसलिए आपके पास एक भ्रष्ट viminfo हो सकता है।
मार्क कोहेन

@ire_and_curses धन्यवाद! जब मैं प्रवेश करता हूं which vi, तो मुझे आउटपुट मिलता है /usr/bin/vi। जब मैं प्रवेश करता हूं file /usr/bin/vi, तो मैं आउटपुट /usr/bin/vi: symbolic link to / etc / विकल्प / vi ' . Does this mean I am using vi` प्राप्त करता हूं?
एंड्रयू

1
@ और - ठीक है, तो करो file /etc/alternatives/vi। मुझे उम्मीद है कि आपको बताएगा कि आप वास्तव में चल रहे हैं vim
ire_and_curses

जवाबों:


25

यह करो:

rm -f ~/.viminfo

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


2
इसे .viminfo हटाने के बजाय इसे स्थानांतरित करना अधिक जोखिम वाला होगा। उदाहरण के लिए यदि आप एक बड़े कोड-बेस पर काम कर रहे हैं तो यह आपके निशानों को फिर से बनाने के लिए बहुत दर्दनाक हो सकता है।
डॉनथिंग्स असफलता

@bahamat @donothingsuccessfully अपने समय के लिए सभी को धन्यवाद! मूविंग .viminfo(जोखिम से बचने का तरीका) समस्या को ठीक करता है। इसलिए मुझे लगता है कि मेरी .viminfoफ़ाइल दूषित हो गई थी। आपकी मदद के लिए ईमानदारी से धन्यवाद। छुट्टियां आनंददायक हों!
एंड्रयू

1

Vim एरर E576 तब होता है जब आप अपनी .viminfoफाइल में कुछ सिंटैक्स त्रुटि करते हैं जो आपके कमांड और फाइल हिस्ट्री आदि को स्टोर करता है।

भ्रष्टाचार तब हो सकता है जब आप आउट-ऑफ-स्पेस हो या आपका स्टोरेज इंजन दोषपूर्ण हो। आप ~/.viminfoअमान्य रेखाओं को संपादित करने , खोजने और हटाने का प्रयास कर सकते हैं, अंततः इसे अलग-अलग नाम में बदल सकते हैं और बस इसे हटा सकते हैं।

आप -i {viminfo}.viminfo फ़ाइल को निर्दिष्ट करने के लिए पैरामीटर का उपयोग भी कर सकते हैं ।

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