Jawaban:
vim -r .swp
Ini masuk ke mode pemulihan dan memberi Anda lebih banyak informasi. Saya pikir ini yang Anda inginkan.
.swX
-file ditinggalkan jika sesi dengan file yang tidak disimpan terbunuh / crash / sesuatu yang buruk terjadi. Mereka juga hadir selama buffer terbuka yang belum disimpan dalam sesi Vim. vim -r
membaca file sementara ini dan membuat ulang konten. Setelah Anda memulihkannya, simpan saja seperti biasa, mis :w newfilename
.
Anda tidak perlu memiliki file asli untuk memulihkan .swp. Cukup buka file seolah-olah ada. vim akan mencari file dengan ekstensi .swp dan menawarkan untuk memulihkannya.
misalnya:
$ 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:
Cukup tekan R untuk memulihkannya dan: wq file
Sunting: Perhatikan bahwa file .swp hanya berisi perubahan yang dilakukan pada file tersebut (lihat komentar). Ini berarti bahwa Anda perlu mengambil salinan file terbaru dari cadangan dan kemudian menggunakan vim untuk memulihkan perubahan terbaru. Jika Anda tidak memiliki salinan cadangan file, Anda benar-benar kurang beruntung.
The original file is no longer needed for recovery.
:preserve
dan :set cpoptions=...&
meninggalkan file .swp dan .swo di direktori dan menawarkan untuk memulihkan dari keduanya. Menggunakan vim -r <file>
Anda dapat memilih antara .swp dan .swo. Pengeditan lebih lanjut menghasilkan .swn, .swm, dll., Yang tampaknya merupakan jumlah sebagian swap hingga ke titik itu. Anda dapat kembali ke versi yang Anda sukai dan edit (~ = fork) atau simpan (~ = simpanan). Akhirnya, Anda dapat mengumpulkan file swap, daemonisasi cadangannya, dll. Saya bisa saja salah tentang detail mengenai file yang lebih besar - Saya tidak yakin bagaimana itu mempengaruhi file swap tambahan - lihat di bawah.
Buka file asli menggunakan vim, dan pilih opsi pemulihan.
Setelah membaca komentar Vegar Westerlund dan Heptite, saya ingin tahu pada titik mana vim membutuhkan file asli (atau cadangan) untuk pulih dari file .swp. Inilah yang dilakukan:
Saya membuka file 975 baris, mengeditnya di baris 949 (membuat .swp
file) dan mematikan prosesnya, kemudian menghapus yang asli. $ vim Original_File
ditanya apakah saya ingin memulihkan dari .swp »> yes; hanya 68 baris pertama dan 34 baris terakhir (mulai 8 baris di atas edit saya) yang benar-benar pulih.
Saya kemudian mengulangi pengujian dengan file yang lebih kecil: Dari 20 hingga 200 baris, file .swp berisi 100% dari konten asli . Tetapi pada 300 baris, hanya 68 baris pertama dan 18 baris terakhir (mulai 2 baris di atas edit saya) dimasukkan dalam .swp.
Sebagai kesimpulan itu baik untuk mengetahui bahwa vim selalu menyimpan "header" file dan "bawah" dalam file .swp. Mungkin ada pengaturan untuk mengontrol berapa banyak baris yang seharusnya berisi .swp?