मैंने एक फाइल को आसानी से मोड में खोला; क्या पठन मोड से बाहर निकलने का कोई तरीका है?
w
हर बार जब मैं बचाना चाहता हूं तो विस्मयादिबोधक चिह्न लगाने की याद रखना सिर्फ असुविधा है । हेह
मैंने एक फाइल को आसानी से मोड में खोला; क्या पठन मोड से बाहर निकलने का कोई तरीका है?
w
हर बार जब मैं बचाना चाहता हूं तो विस्मयादिबोधक चिह्न लगाने की याद रखना सिर्फ असुविधा है । हेह
जवाबों:
आप ऐसा कर सकते हैं:
:set noro
यह रीड-ओनली फ्लैग को अनसेट करता है, लेकिन यदि अंतर्निहित फाइल अभी भी आपके द्वारा लिखने योग्य नहीं है, तो विम अभी भी इसे लिखने में असमर्थ होगा।
:set ro
:।
view
लेकिन फिर इसे संपादित करने का निर्णय लेते हैं।
आप chmod
विम के भीतर से भाग सकते हैं :
:!chmod +w %
!
का मतलब है एक शेल कमांड चलाना, और %
वर्तमान फ़ाइल नाम है। आप केवल फ़ाइल लिखने को बाध्य कर सकते हैं:
:w!
माइकल Mrozek के जवाब के अलावा , आप अपने लिए एक पंक्ति जोड़ सकते हैं .vimrc
जो आपको एक ऐसी फ़ाइल को लिखने की अनुमति देता है जिसे आपने एलिवेटेड अनुमतियों के साथ खोलने की उपेक्षा की है:
" Allows writing to files with root priviledges
cmap w!! w !sudo tee % > /dev/null
यदि फ़ाइल केवल पढ़ी जाती है, तो आपको केवल दर्ज करना :w!!होगा, आपको अपने पासवर्ड के लिए संकेत दिया जाएगा और फिर फ़ाइल को सफलतापूर्वक लिखा जाएगा।
:set noro
नौकरी करते समय , यह जांच नहीं करता है कि क्या फ़ाइल किसी अन्य विम उदाहरण द्वारा खोली गई है या यदि बाहरी रूप से बदली गई है तो फ़ाइल को अपडेट करता है।
इसे संपादन योग्य बनाने के लिए और स्वैप फ़ाइलों की जांच करें (जो कि डिफ़ॉल्ट फ़ाइल को vim के साथ खोलने के लिए है) बस एडिट कमांड (: एडिट एडिट) का उपयोग करें:
:e
ध्यान दें, अगर फ़ाइल में कभी भी छेड़छाड़ की गई है (विम के बाहर भी), तो यह वर्तमान बफर में बदलावों को अपडेट करेगा (जो मुझे सामान्य रूप से वांछनीय लगता है)।
यहाँ मैं जा रहा हूँ, हालांकि थोड़ी देर, शायद आप पहले से ही अपने संदेह को हल कर चुके हैं;) मैंने किसी भी तरह की टिप्पणियों में नहीं देखा है जो मुझे विम के साथ पता है , इसलिए, मैं इसे जोड़ता हूं:
आप किसी फ़ाइल को संपादित कर रहे हैं के बाद, आप प्रेस :w
या :wq
, और आप कष्टप्रद संदेश " E45 'केवल पढ़ने के लिए' विकल्प सेट है (ऐड! ओवरराइड करने के लिए) "
आपको लिखना आता है
:w !sudo tee %
w
बफर लिखते हैं, !sudo
सुडोल के साथ शेल को कॉल करता है, tee
vim :w
टी के साथ आउटपुट के आउटपुट को रीडायरेक्ट करता है , और%
वर्तमान फ़ाइल नाम हैऔर वह चाल चलनी चाहिए। ध्यान दें कि यह फ़ाइल को vim में पुनः लोड करने के लिए संकेत देगा, जिसके लिए आपको L दबाना होगा
!
को जोड़नेw
से चाल चलेगी, जैसा कि माइकल ने कहा है।