1 votes

Comment vimgrep les fichiers de swap dans un répertoire ?

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 ?

1voto

robterrell Points 646

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 !

1voto

jopa Points 800

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.

SistemesEz.com

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.

Powered by:

X