Ne paniquez pas!
La récupération de fichiers est toujours sûre, car vim n'écrit jamais de modifications tant que vous ne les avez pas écrites vous-même. Ainsi, la récupération à partir d'un fichier d'échange et la fermeture sans sauvegarde ne changeront rien.
Organisez vos fichiers d'échange:
Obtenez vim pour mettre tous vos fichiers d'échange au même endroit, afin que vous sachiez toujours où ils se trouvent:
set directory^=$HOME/.vim/swap//
ou où vous préférez. L'utilisation //
à la fin du nom de fichier oblige Vim à utiliser des chemins de fichier absolus pour les noms de fichier d'échange afin de ne pas obtenir de collisions de noms. Assurez-vous que le répertoire existe, sinon vim ne l'utilisera pas (il ne le créera pas pour vous).
Remarque: Cela ne fonctionne que sur les variables d'environnement, si vous souhaitez utiliser une variable vimscript, nous devons utiliser un peu de :execute
magie:
execute "set directory^=".my_vim_home_var."/swap//"
Diff les différences:
L'aide de vim propose une commande très utile d'utiliser dans cette situation: :DiffOrig
. Ce n'est pas une commande vim par défaut , copiez donc l'implémentation de :h :DiffOrig
dans votre vimrc. (c'est aussi dans $VIMRUNTIME/defaults.vim
si vous avez vim8). Maintenant, vous pouvez récupérer le fichier et exécuter simplement DiffOrig pour obtenir un vimdiff de ce qui a changé depuis la version non modifiée.
Si vous souhaitez comparer le contenu de plusieurs fichiers d'échange, récupérez votre fichier avec chaque fichier d'échange différent, puis écrivez le résultat dans des fichiers temporaires. Maintenant, chargez les fichiers et exécutez-les :diffthis
sur chaque fichier, apportez les modifications souhaitées, réécrivez-les dans le fichier d'origine et supprimez les fichiers temporaires et d'échange.
Commandes utiles:
:swapname
: obtenir le nom que vim utilise pour le fichier d'échange pour le tampon actuel ( :h :swapname
)
:recover
: récupère le fichier sélectionné, comme lorsque vous démarrez vim et appuyez sur R( :h :recover
)
Consultez l'aide:
Vim a une section entière du manuel de l' utilisateur sur la récupération: :usr_11.txt
l'aide de référence de vim sur les fichiers d'échange: :h swap-file
, h recovery
Aide sur l'option de répertoire (pour définir l'emplacement du fichier d'échange)::h 'directory'
Edit: exemple modifié pour définir le répertoire, comme indiqué dans les commentaires de @B Layer