En basit versiyon şudur: ~/.vim/undo-dir/
dizin yaratın ve aşağıdakileri ekleyin .vimrc
:
set undodir=~/.vim/undo-dir
set undofile
Ancak, kusursuz değil ve okumak için daha iyi. Benim kendimden .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
Geri alma dosyaları ile rasgele dizinleri karıştırmamayı tercih ederim. Bu yüzden undodir
hepsini bir geri alma dizinine yerleştiren seçeneği ayarladım . Bu bir sorun yaratıyor - tembelim ve bu dizini tüm makinelerimde oluşturmak istemiyorum ( .vimrc
bir sürü makinede senkronize etmek için sürüm kontrol sistemi kullanıyorum ). Neyse ki, Vim'in var olmadığı durumlarda dizinleri kontrol etmesi ve oluşturması kolay.
Ayrıca, 0700
geri alma dizinindeki modu da not edin (bu, sahipler için tam izinler, kimsenin izni yok). Hangi dosyaları düzenlediğim, ne zaman vb. Özel kalmalı. Ve bu sadece erişebileceğim bir dizin olduğundan, oraya bir sembolik bağlantı ekleyen birinin, ya da kendi geri alma dosyasının ya da sistemin geçici bir dizinini kullanmak için endişelenmeniz gereken herhangi bir şey hakkında endişelenmek zorunda değilim.
Son olarak, sistem geçici dizini olmamak, sistem geçici dosyası temizleme politikasına tabi değildir. Genellikle, bu oldukça kısadır - bir hafta kadar. Ama sonsuza dek büyümesini engellemek için şunu yazdım crontab
:
# m h dom mon dow command
43 00 * * 3 find /home/anthony/.vim/undo-dir -type f -mtime +90 -delete
Yani 90 gün değiştirilmeden sonra silinirler. (Dürüst olmak gerekirse, onlar gerçekten o kadar büyük değiller, onları ne kadar ucuz bir diskle kolayca sonsuza dek bırakabilirsiniz. Ancak, makinenizin zarar görmesi durumunda kendi gizliliğinizi de göz önünde bulundurun.)