En utilisant vim, je reçois toujours un message disant "Le fichier d'échange xxx existe déjà" lorsque je modifie une configuration apache. Cependant, je ne le vois pas dans le répertoire de travail de tmp. Comment supprimer cela?
Les fichiers d'échange Vim sont normalement cachés (les fichiers cachés Unix commencent par a .
). Pour afficher les fichiers cachés ainsi que les fichiers normaux, vous devez ls -A
(mnémonique: A pour tous). Cela devrait vous montrer si un fichier d'échange est là ou non.
Cela se produit uniquement lorsque le fichier que vous essayez de modifier n'est pas entièrement enregistré sur le disque. Les scénarios sont les suivants:
Vous arrêtez votre système de manière incorrecte, lorsqu'un fichier est toujours ouvert dans vi / vim.
lorsque votre fichier est accédé simultanément via différentes / mêmes consoles dans vi.
vi / vim crée un fichier .swp chaque fois qu'un fichier est ouvert dans vi / vim. Chaque fois qu'un fichier est ouvert dans vi / vim, vi / vim vérifie ce fichier et s'il est trouvé, cet avertissement apparaît
Cela peut être évité de deux manières
"chemin / du / fichier / vous / étiez / éditant / .votre_nom_fichier.swp"
Je parle juste du premier scénario et il est sûr uniquement pour ce scénario. Le deuxième scénario est le cas différent.
vi -r
(ouvim -r
si vous préférez). J'écris généralement le fichier récupéré dans un fichier temporaire etdiff
contre le fichier principal. (Je ne fais pas vraiment confiance à la récupération pour ne pas perdre d'informations.)Si le fichier que vous modifiez est appelé,
httpd.conf
le fichier d'échange sera appelé.httpd.conf.swp
. Il est masqué sauf si vous ajoutez-a
à vosls
arguments.la source
Pour supprimer le fichier d'échange sous Linux, utilisez cette commande
la source
Dans le message, vous devriez voir le chemin d'accès complet au fichier. Vous pouvez le rm en copiant-collant le chemin comme suit:
la source