web-dev-qa-db-fra.com

"Le fichier de swap xxx existe déjà" lors de la modification du fichier de configuration Apache dans Vim?

Utilisation de Vim je continue à recevoir un message disant "Swap File XXX existant déjà" lorsque j'édition d'une configuration Apache. Cependant, je ne le vois pas dans le répertoire de travail sur TMP. Comment puis-je supprimer cela?

9
dzm

Les fichiers Swap VIM sont normalement masqués (les fichiers cachés UNIX commencent par un .). Afin de visualiser des fichiers cachés ainsi que des réguliers, vous devez ls -A (mnémonique: A pour tous). Cela devrait vous montrer si un fichier d'échange est là ou non.

16
quanticle

Cela ne se produit que lorsque le fichier que vous essayiez d'édition n'est pas enregistré complètement sur le disque. Les scénarios sont:

  1. Vous fermez votre système de manière incorrecte lorsque un fichier est toujours ouvert dans VI/VIM.

  2. lorsque votre fichier est accessible simultanément via des consoles différentes/mêmes dans VI.

vI/VIM crée un fichier .swp chaque fois qu'un fichier est ouvert dans VI/VIM. Chaque fichier est ouvert dans VI/VIM, VI/VIM vérifie ce fichier et si vous avez trouvé cet avertissement apparaît

Ceci est peut être évité de deux manières

  1. un en supprimant le fichier .swp qui est nommé comme

"chemin/de/de/le/fichier/vous/étiez/édition/.your_file_name.swp"

  1. vous pouvez également opter pour la récupération du mode VI/VIM lors de l'ouverture du fichier et appuyez sur l'option de récupération.

Je parle simplement du premier scénario et il est sûr que ce scénario seulement. Scénario Deuxième est le cas différent.

5
kaji

Si le fichier que vous modifiez est appelé httpd.conf Ensuite, le fichier d'échange sera appelé .httpd.conf.swp. Il est caché à moins que vous ajoutez -a à vos arguments ls.

ls -a /etc/httpd/conf/
1
tylerl

Pour supprimer le fichier de swap sous Linux, utilisez cette commande

rm .filename.swp
1
amareswar reddy

Dans le message, vous devez voir le chemin complet du fichier. Vous pouvez la rm en copiant-coller le chemin comme suit:

rm -f /path/to/the/file
0
d_ethier