J'ai essayé d'ouvrir le fichier .swp en utilisant vi
et cat
mais cela affiche des données incorrectes.
Réponses
Trop de publicités?vim -r .swp
Cela entre en mode de récupération et vous donne plus d'informations. Je pense que c'est ce que vous voulez.
.swX
-fichiers sont laissés derrière lorsque qu'une session avec un fichier non enregistré est interrompue/se plante/quelque chose d'autre de mauvais se produit. Ils sont également présents pendant le temps où un tampon non enregistré est ouvert dans une session Vim. vim -r
lit ces fichiers temporaires et recrée le contenu. Après l'avoir récupéré, enregistrez-le simplement comme d'habitude, par exemple :w nouveau nom de fichier
.
Vous n'avez pas besoin d'avoir le fichier original pour récupérer le .swp. Ouvrez simplement le fichier comme s'il existait. vim recherchera le fichier avec l'extension .swp et proposera de le récupérer.
par exemple :
$ ls -a
. .. .test.txt.swp
$ vim test.txt
[...]
Le fichier d'échange ".test.txt.swp" existe déjà !
(O)uvrir en lecture seule, (E)diter quand même, (R)écupérer, (S)upprimer, (Q)uitter, (A)bort:
Appuyez simplement sur R pour le récupérer et :wq pour enregistrer le fichier
Éditer : Notez que le fichier .swp ne contient que les modifications apportées au fichier (voir commentaire). Cela signifie que vous devrez récupérer une copie récente du fichier depuis la sauvegarde, puis utiliser vim pour récupérer les dernières modifications. Si vous n'avez pas de copie de sauvegarde du fichier, vous avez vraiment de la malchance.
Après avoir lu les commentaires de Vegar Westerlund et de Heptite, j'ai voulu savoir à quel moment vim avait besoin du fichier original (ou d'une sauvegarde) pour récupérer à partir d'un fichier .swp. Voici ce que j'ai fait :
J'ai ouvert un fichier de 975 lignes, je l'ai édité à la ligne 949 (créant ainsi un fichier .swp
) puis j'ai arrêté le processus et supprimé l'original. $ vim Original_File
a demandé si je voulais récupérer à partir du fichier .swp » > oui; seules les 68 premières lignes et les 34 dernières lignes (à partir de 8 lignes avant mon édition) ont été réellement récupérées.
J'ai ensuite répété le test avec des fichiers plus petits : De 20 à 200 lignes, le fichier .swp contenait 100% du contenu original. Mais à 300 lignes, seules les 68 premières et les 18 dernières lignes (à partir de 2 lignes avant mon édition) étaient incluses dans le .swp.
En conclusion, il est bon de savoir que vim sauve toujours l'"en-tête" et le "bas" du fichier dans les fichiers .swp. Peut-être qu'il y a un paramètre pour contrôler combien de lignes un .swp devrait contenir ?
- Réponses précédentes
- Plus de réponses