ऐसा करने का सबसे सरल तरीका संभवत: सत्र फ़ाइलों के साथ है, जो विम स्क्रिप्ट हैं (यह विम स्वचालित रूप से आपके लिए उत्पादन कर सकते हैं) जो पिछले संपादन वातावरण को पुनर्स्थापित करेगा।
आप एक नया सत्र फ़ाइल का उपयोग करके बना सकते हैं :mksession <filename>
। तुम्हें पता है, उत्पन्न सत्र स्क्रिप्ट निष्पादित करने से उस सत्र बहाल कर सकते हैं :source <filename>
।
इस प्रकार, आप एक विंडो को अधिकतम करने से पहले मौजूदा सत्र को बचा सकते हैं और इसे पुनर्स्थापित कर सकते हैं जब आप विंडो को "अनमैक्सिज़्म" करना चाहते हैं।
इसका उपयोग करते हुए, आप पहले से सत्र को बचाने के लिए उपयुक्त विंडोिंग कमांड को फिर से तैयार कर सकते हैं, और सत्र को बहाल करके अंतिम विंडोिंग कमांड को "पूर्ववत" करने के लिए एक नया मैपिंग जोड़ सकते हैं। उदाहरण के लिए:
nnoremap <C-w>o :mksession! ~/session.vim<CR>:wincmd o<CR>
और इतने सारे विंडो कमांड के लिए जिसे आप समर्थन करना चाहते हैं (देखें :help CTRL-W
, बहुत कुछ है)। !
मौजूदा सत्र फ़ाइल को अधिलेखित करने से संबंधित रोकता है त्रुटियों।
nnoremap <C-w>u :source ~/session.vim<CR>
अंतिम विंडो कमांड को "पूर्ववत करें" करने के लिए।
यदि आप विशेष रूप से मजबूत होना चाहते हैं, तो आप सत्र फ़ाइलों को एक स्टैक में सहेजने के लिए फ़ंक्शन के माध्यम से इसे बढ़ा सकते हैं और उन्हें पूर्ण पूर्ववत श्रृंखला प्राप्त करने के लिए बंद कर सकते हैं, हालांकि उस बिंदु पर ट्रैक करने के लिए फ़ंक्शन का एक गुच्छा लिखने के लिए संभवतः यह अधिक कुशल है। विंडो कमांड हिस्ट्री इन मेमोरी ... जिस पॉइंट पर आप संभवत: उन प्लगइन्स को डुप्लिकेट कर रहे हैं जो पहले से ही इस तरह का काम करते हैं।