Ben sadece tampon kaydedilmemiş değişiklikler içeriyorsa swapfile etkinleştiren "noswapsuck" adlı bir eklenti yaptım. Değişiklikler kaydedildikten sonra, takas dosyası temizlenir. Bu nedenle, diskteki dosyayla aynı içeriği içeren takas dosyaları kaldırılacaktır.
Buradan edinin: noswapsuck.vim
Benim için iyi çalışıyor, ama daha önce hiç yayınlamamıştım, bu yüzden geri bildirimi memnuniyetle karşılarım.
Avantajları:
- Diskinizde kalan tek swap dosyaları, dosyadan gerçekten farklı olan önemli swap dosyaları olacaktır!
Dezavantajları:
Arabellek bir takas dosyasına sahipse, dosya ilk açıldığında algılanmaz. Yalnızca swapfile
etkinleştirildiğinde, yani arabelleği düzenlemeye başladığınızda algılanır . Bu can sıkıcı bir şekilde geç ve sizi yarıda kesecek. (Çözüldü: Şimdi, arabellek açıldığında, swapfile
seçeneği geçici olarak tekrar açarak önceden var olan bir takas dosyasını kontrol ediyoruz .)
Disk yazma işlemlerini en aza indirmek istediğiniz bir ortamda (örneğin, düşük güç veya ağa bağlı dosyalar veya büyük bir dosyayı düzenleme) çalışıyorsanız, takas dosyasını her kaydedin ve düzenleyin. Bu gibi durumlarda şunları yapabilirsiniz:
:let g:NoSwapSuck_CloseSwapfileOnWrite = 0
Bu, bir yazma işleminden sonra swap dosyasını saklar, ancak arabellek odağı kaybettiğinde yine de kaldırır.
Bu arada, :DiffAgainstFileOnDisk
vurduktan sonra oldukça yararlı olabilecek başka bir küçük eklentim var, (r)ecover
kurtardığınız tamponun mevcut dosyadan daha yeni veya daha eski olup olmadığını veya onunla aynı olup olmadığını kontrol etmek için.