J'ai accidentellement fermé une fenêtre de terminal dans laquelle des onglets vim étaient ouverts.
Maintenant, comment puis-je trouver ces fichiers de swap en utilisant vimgrep
ou terminal grep
?
J'ai accidentellement fermé une fenêtre de terminal dans laquelle des onglets vim étaient ouverts.
Maintenant, comment puis-je trouver ces fichiers de swap en utilisant vimgrep
ou terminal grep
?
Par défaut, Vim enregistre les fichiers d'échange dans le même répertoire que le fichier que vous éditez. Vous devriez regarder là.
Si vous l'avez modifié dans votre .vimrc
(ou vous avez téléchargé celui de quelqu'un d'autre), vous devez vérifier s'ils sont enregistrés ailleurs. L'option serait quelque chose comme set dir=~/.vim/swap
.
Une fois que vous avez déterminé où les fichiers d'échange sont susceptibles de se trouver, nous devons procéder à leur récupération. Sur un système *nix, il s'agit de fichiers cachés (précédés d'un préfixe .
), et sur les systèmes DOS (Windows), il peut être précédé d'un = (mais probablement pas caché).
Ainsi, sur un système *nix, le fichier que vous recherchez ressemblera à quelque chose comme myfile.swX
, donde myfile
est le nom du fichier que vous avez perdu, et X
peut être n'importe quelle lettre après p
(vim renomme les fichiers de swap au lieu de les supprimer).
Pour récupérer votre fichier une fois que vous l'avez trouvé, ouvrez Vim, et exécutez :recover myfile.swp
.
Bonne chance, et j'espère que vous trouverez vos dossiers !
Vous n'avez pas besoin grep
pour cela, puisque les fichiers d'échange de Vim peuvent déjà être identifiés par leur extension de fichier . Lancez une recherche avec find
à partir du répertoire de base qui contient tous vos fichiers Vim ouverts, ou du répertoire que vous avez configuré en tant que :set directory=...
:
$ find . -name '.*.swp'
PS : Comme :vimgrep
ouvre les fichiers dans Vim lui-même, il ne peut probablement pas gérer ses propres fichiers d'échange.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.