सबसे सरल संस्करण है: ~/.vim/undo-dir/
निर्देशिका बनाएं और निम्नलिखित को इसमें जोड़ें .vimrc
:
set undodir=~/.vim/undo-dir
set undofile
हालांकि, यह निर्दोष नहीं है, और इस पर पढ़ना बेहतर है। मेरे अपने से .vimrc
:
" Let's save undo info!
if !isdirectory($HOME."/.vim")
call mkdir($HOME."/.vim", "", 0770)
endif
if !isdirectory($HOME."/.vim/undo-dir")
call mkdir($HOME."/.vim/undo-dir", "", 0700)
endif
set undodir=~/.vim/undo-dir
set undofile
मैं पूर्ववत फ़ाइलों के साथ यादृच्छिक निर्देशिकाओं को अव्यवस्थित नहीं करना पसंद करता हूं। तो मैंने undodir
विकल्प सेट किया , जो उन सभी को एक पूर्ववत निर्देशिका में रखता है। वह एक समस्या छोड़ देता है - मैं आलसी हूं, और मेरे सभी मशीनों पर उस निर्देशिका को बनाने का मन नहीं करता (मैं मशीनों के .vimrc
एक समूह में अपने सिंक करने के लिए एक संस्करण नियंत्रण प्रणाली का उपयोग करता हूं )। शुक्र है, अगर वे मौजूद नहीं हैं तो निर्देशिका की जांच करना और निर्देशिका बनाना काफी आसान है।
0700
पूर्ववत निर्देशिका पर भी ध्यान दें (यह स्वामी के लिए पूर्ण अनुमति है, किसी और के लिए कोई अनुमति नहीं है)। मैंने किन फ़ाइलों को संपादित किया है, कब, आदि को निजी रहना चाहिए। और चूंकि यह एक निर्देशिका है केवल मैं ही एक्सेस कर सकता हूं, मुझे किसी और के बारे में चिंता करने की कोई जरूरत नहीं है कि वहां सिम्पीनल, या अपनी खुद की फ़ाइल को पूर्ववत करें, या जो कुछ भी आपको सिस्टम अस्थायी निर्देशिका का उपयोग करने के बारे में चिंता करना होगा।
अंत में, सिस्टम टेम्परेरी डायरेक्टरी नहीं बन रहा है, सिस्टम टेम्पराइल क्लीनअप पॉलिसी के अधीन नहीं है। अक्सर, यह एक सप्ताह या तो काफी कम है। लेकिन इसे हमेशा के लिए बढ़ने से रोकने के लिए, मैंने निम्नलिखित बातों को अपने में रखा crontab
:
# m h dom mon dow command
43 00 * * 3 find /home/anthony/.vim/undo-dir -type f -mtime +90 -delete
इसलिए 90 दिनों के बाद संशोधित नहीं होने पर, वे हटा दिए गए हैं। (ईमानदारी से, वे वास्तव में इतने बड़े नहीं हैं, आप उन्हें आसानी से हमेशा के लिए छोड़ सकते हैं कि डिस्क कितनी सस्ती है। लेकिन अपनी खुद की गोपनीयता पर भी विचार करें कि क्या आपकी मशीन कभी समझौता कर रही है।)