कृपया मुझे इसके लिए वोट न करें। मैं इस उत्तर को लागू करने की अनुशंसा नहीं करता, लेकिन यह वह उत्तर है जो आरक्षक पूछ रहा है।
rkthkr ने कहा:
लेकिन यह अच्छा होगा कि विम को फिर से शुरू किया जाए और रूट के रूप में चलाया जाए
ऐसा करने का तरीका :!sudo vim %
जैसा कि मैंने ipozgaj के साथ उल्लेख किया है, एक तर्क के रूप में एक% (यहां तक कि एक उप-तर्क) वर्तमान बफर के पथ के साथ बदल जाता है। (आपको अपने पासवर्ड के लिए संकेत मिल सकता है।) आप एक नई vim प्रक्रिया के साथ समाप्त होते हैं, जो रूट के स्वामित्व में है, जो कि मूल vim प्रक्रिया की एक बाल प्रक्रिया है। नासमझ, सही लगता है? यहाँ यह कैसा दिखता है ps:
~# ps afo pid,ppid,user,stat,comm
PID PPID USER STAT COMMAND
16187 30478 rbronosky Ss bash
16510 16187 rbronosky R+ \_ ps
30482 30478 rbronosky Ss bash
16244 30482 rbronosky S+ \_ vim
16318 16244 root S+ \_ vim
यदि आपके पास उस निर्देशिका के लिए अनुमति है जिसमें फ़ाइल सम्मिलित है और आपने उसमें संपादन किया है, तो आपको चेतावनी दी जा सकती है कि स्वैप स्पेस बाहर निकल जाए। [R] परित्याग के लिए चुनना, मूल vim प्रक्रिया द्वारा किए गए परिवर्तनों के अधिकांश * को प्रतिबिंबित करेगा । (* मुझे लगता है कि शायद स्वैप अपडेट समयबद्ध है या एक डेल्टा सीमा है। मैंने इस पर बहुत समय दिया है और इस पर ध्यान नहीं देना चाहिए।) जब आप जाते हैं और विम छोड़ते हैं, तो आप चिंतित न हों। अभी भी vim में ... आपने दूसरी vim प्रक्रिया खोली है। याद है?
अब, उस सब के साथ कहा ... मैं लगभग ऐसा कभी नहीं होगा। हो सकता है, अगर मेरे पास पर्याप्त या बहुत अधिक कॉफी नहीं थी, और मुझे एहसास हुआ कि मुझे रूट के रूप में कई और फ़ाइलों को संपादित करने की आवश्यकता है ... मैं यह कोशिश कर सकता हूं। 14 साल के प्रशासन प्रणालियों में, मेरे पास कभी नहीं है। लेकिन, जब तक आपने मेरे पसंदीदा समाधान के साथ असंतोष व्यक्त नहीं किया (जो बिल्कुल उसी तरह की पेशकश की गई थी) मैंने इस बारे में कभी नहीं सोचा था।