कभी-कभी मेरी फ़ाइल मेरे vi में ही जमा हो जाती है। vim, क्या हुआ?


298

कभी-कभी जब मैं vi या vim का उपयोग करके अपनी फ़ाइल संपादित करता हूं, तो मेरी फ़ाइल बस जमा देती है। यहां तक ​​कि अगर मैं टाइप करता हूं Ctrl+Cया Ctrl+D, यह अभी भी वहां जमा है। मैं kill -9 <pid>दूसरे टर्मिनल से आता हूं , पीड़ मारा जाता है, लेकिन फाइल अभी भी वहां जमा होती है।

मुझे लगता है कि मैंने कुंजी के कुछ संयोजन टाइप किए होंगे जो मुझे नहीं पता। क्या किसी के पास एक विचार है?

जवाबों:


605

Ctrl- Sशायद अपराधी है; यह अधिकांश टर्मिनलों में आपके स्क्रीन आउटपुट को रोकता है। जैसा कि माइकल ने उल्लेख किया है, आप प्रवेश करके अपनी स्क्रीन को सामान्य कर सकते हैं Ctrl- Q

सैद्धांतिक रूप से, सेटिंग stty -ixonको आपकी स्क्रीन को ठंड से रोकना चाहिए Ctrl- Sलेकिन यह मेरे स्थानीय सोलारिस 10 लॉगिन पर काम नहीं कर रहा है।


@CallMeNorm - यह स्क्रीन / tmux / etc के लिए dastardly <Ctrl-A> शॉर्टकट के साथ भी होता है क्योंकि मेरे पास मोटी उंगलियां हैं। ;)
धूमकेतु

यदि, जो भी कारण से - आपने विश्व स्तर पर रीमैप किया ("निष्क्रिय") Ctrl-Q (जैसे गलती से फ़ायरफ़ॉक्स छोड़ने से बचने के लिए), तो टर्मिनलों में stty -ixonआपके ~/.bashrcCtrl-q को सक्षम करता है। मेरे मामले में, Ctrl-s विम को फ्रीज कर रहा था और मैं इसे वापस नहीं पा सकता था ... जब तक मैंने वह .bashrc संशोधन नहीं किया। यहाँ विवरण: superuser.com/a/1328326/409327
विक्टोरिया स्टुअर्ट

75

क्या आप इसे GNU स्क्रीन के अंदर उपयोग करते हैं? (जैसा कि प्रशंसा बताती है, यह स्पष्ट रूप से स्क्रीन के बाहर भी सच है) यह गलती से हिट करने के लिए बहुत आम है Ctrl+S( xoff), जो स्क्रीन पेंटिंग को तब तक निष्क्रिय करता है जब तक आप हिट नहीं करते Ctrl+Q( xon)


क्या कोई कुंजी है जो फ़ाइल को फ्रीज कर देगी अगर मेरी विम को कॉस्कोप के साथ जोड़ दिया जाए?
user399517

1
यह तब होता है (कभी-कभी) के बाद मैं टाइप करता हूं शिफ्ट + डालें, और vi शो: ओपन मोड।
user399517

1
सीटीआर-एस जीएनयू स्क्रीन के लिए विशिष्ट नहीं है।
Pra

1

यदि Ctrl+ Sआपकी समस्या नहीं है ( प्रशंसा के जवाब में ) तो यह आपकी मदद कर सकता है।

यदि आपने Vundle का उपयोग करके कस्टम प्लगइन्स का एक गुच्छा स्थापित करने का प्रयास किया है , तो कभी-कभी चीजें गड़बड़ हो जाती हैं। आप इन पैकेजों को मैन्युअल रूप से निकालने का प्रयास कर सकते हैं और देखें कि क्या यह मदद करता है। पता करें कि प्लगइन्स को कहां लिखा गया है - मेरे मामले में वे सभी .vim/bundleनिर्देशिका के अंदर थे क्योंकि मैं वुंडलgit clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim को स्थापित करता था । इसलिए एक बार .vimनिर्देशिका के अंदर आप सभी प्लगइन्स को हटाने के लिए पूरे बंडल फ़ोल्डर को मिटा सकते हैं, और निष्पादित करके फिर से शुरू कर सकते हैं rm -rf bundle

आशा है ये मदद करेगा!


-11

आप कीबोर्ड लेआउट को बदलने का प्रयास कर सकते हैं। Vi | vim केवल अंग्रेजी (?) इनपुट के साथ बातचीत करता है।

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