विम ऐसा कर सकता है, हालांकि यह थोड़ा क्लिंक हो सकता है और कुछ सेटअप ले सकता है।
romainl आप के साथ भाग जाता है session
। लापता बिट्स स्वैप फाइलें हैं :preserve
, और इसके लिए &
झंडा है cpoptions
।
अगर विम या आपका सिस्टम क्रैश हो जाता है, तो स्वैप फाइलें रिकवरी के लिए होती हैं। वे आपको किसी भी सहेजे गए परिवर्तन (कुछ सीमाओं के साथ, देखें :he swap-file
) को पुनर्प्राप्त करने में सक्षम करते हैं । हालांकि, जब विम सामान्य रूप से बाहर निकलता है, तो यह किसी भी स्वैप फाइल को हटा देता है, जिसका उपयोग कर रहा था, भले ही बफर में बिना बदलाव किए हुए हों।
यही कारण है कि जहां है :preserve
और cpoptions
के &
में आते हैं। :preserve
बलों विम (के रूप में 4 सेकंड या 200 अक्षर, या जो कुछ भी अपने विकल्पों को इसे करने के लिए सेट करने के बाद मानक के विपरीत) तुरंत अपने स्वैप फ़ाइलों के लिए सभी बफ़र्स लिखने के लिए। आम तौर पर बाहर निकलने के साथ सहेजे गए स्वैप फ़ाइलों को हटाने के लिए नहीं करना :set cpoptions+=&
विम को बताता है ।:preserve
दुर्भाग्य से, विम स्वचालित रूप से उनसे पुनर्प्राप्त करते समय स्वैप फ़ाइलों को साफ नहीं करता है, इसलिए आप जल्द ही इस तरह दिखने वाली एक निर्देशिका के साथ समाप्त हो सकते हैं:
.foo.txt.swn
.foo.txt.swo
.foo.txt.swp
foo.txt
आप पुराने को मैन्युअल रूप से हटा सकते हैं, लेकिन विम केवल स्वचालित रूप से पुनर्प्राप्त करने की पेशकश करेगा यदि कोई *.swp
फ़ाइल है जहां वह अपनी नई स्वैप फ़ाइल डाल देगा। :recover
आदेश विम स्वैप फ़ाइलों से उबरने के लिए देखने के लिए बाध्य करेगा।
ऑटोकॉमैंड्स का उपयोग करके, आप संरक्षण (शायद QuitPre
घटना के साथ ) और पुनर्प्राप्त कर सकते हैं (शायद BufRead
या साथ BufReadPost
)। Recover.vim एक प्लगइन है जो पुनर्प्राप्त करने के प्रबंधन के लिए एक मित्रता विकल्प के रूप में काम कर सकता है। यह स्वैप फ़ाइलों की सफाई का काम भी करता है। मुझे यकीन नहीं है कि यह एक निर्देशिका को कैसे संभालती है .swo
लेकिन कोई .swp
फ़ाइल नहीं है। आपको :recover
उस मामले के लिए अभी भी उपयोग करने की आवश्यकता हो सकती है ।
vim-obsession एक और प्लगइन है जो सत्रों को संभालने के लिए बहुत आसान बनाने का दावा करता है।