Yanıtlar:
vim -r .swp
Bu kurtarma moduna geçer ve size daha fazla bilgi verir. Sanırım istediğin bu.
.swX
Kaydedilmemiş bir dosya ile bir oturum öldürülürse / çökerse / başka kötü bir şey olursa -files geride kalır. Ayrıca, Vim oturumunda kaydedilmemiş bir arabellek açık olduğu zaman mevcuttur. vim -r
bu geçici dosyaları okur ve içeriği yeniden oluşturur. Kurtardıktan sonra, her zamanki gibi kaydedin, örneğin :w newfilename
.
.Swp dosyasını kurtarmak için orijinal dosyaya ihtiyacınız yoktur. Sadece dosyayı varmış gibi açın. vim, .swp uzantılı dosyayı arayacak ve kurtarmayı önerecektir.
Örneğin:
$ ls -a
. .. .test.txt.swp
$ vim test.txt
[...]
Swap file ".test.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Kurtarmak için sadece R tuşuna basın ve: wq dosyasını
Düzenleme: .swp dosyasının yalnızca dosyada yapılan değişiklikleri içerdiğini unutmayın (bkz. Yorum). Bu, dosyanın son bir kopyasını yedekten almanız ve ardından en son değişiklikleri kurtarmak için vim kullanmanız gerektiği anlamına gelir. Dosyanın yedek bir kopyasına sahip değilseniz, gerçekten şansınız kalmaz.
The original file is no longer needed for recovery.
:preserve
ve :set cpoptions=...&
bir .swp ve .swo dosyası dizinde bırakır ve her ikisinden de kurtarmayı önerir. Kullanarak vim -r <file>
.swp ve .swo arasında seçim yapabilirsiniz. Diğer düzenlemeler, bu noktaya kadar olan swapların kısmi toplamı gibi görünen .swn, .swm vb. Beğendiğiniz ve düzenleyeceğiniz sürüme geri dönebilir (~ = çatal) veya kaydedebilirsiniz (~ = stash). Sonunda, takas dosyalarını toplayabilir, yedeklerini arka plana çıkarabilirsiniz, vs. Daha büyük dosyalara gelince ayrıntılar hakkında yanılmış olabilirim - bunun da ekstra takas dosyalarını nasıl etkilediğinden emin değilim - aşağıya bakın.
Orijinal dosyayı vim kullanarak açın ve kurtarma seçeneğini seçin.
Vegar Westerlund ve Heptite yorumlarını okuduktan sonra, hangi noktada vim'in bir .swp dosyasından kurtarmak için orijinal dosyaya (veya bir yedeklemeye) ihtiyacı olduğunu bilmek istedim. İşte ne yaptım:
975 satırlık bir dosyayı açtım, 949 satırında (bir .swp
dosya oluştururken ) düzenledi ve işlemi öldürdüm, sonra orijinali sildim. $ vim Original_File
.swp »> yes adresinden kurtarmak isteyip istemediğimi sordu; sadece ilk 68 satır ve son 34 satır (düzenlememin 8 satırından başlayarak) gerçekten kurtarıldı.
Daha sonra testi daha küçük dosyalar ile tekrarladım: 20'den 200 satıra kadar .swp dosyası orijinal içeriğin % 100'ünü içeriyordu . Fakat 300 satırda, sadece ilk 68 ve son 18 satır (düzenlememin 2 satırından başlayarak) .swp'ye dahil edildi.
Sonuç olarak, vim'in her zaman dosyanın "başlık" ve "alt" slarını .swp dosyalarına kaydettiğini bilmek iyidir. Belki de bir .swp ne kadar satır içermesi gerektiğini kontrol etmek için bir ayar vardır?