web-dev-qa-db-fra.com

Impossible de créer un fichier de sauvegarde (ajouter! À écraser)

Besoin d'aide pour. J'ai édité un fichier texte dans vi, et j'ai pu enregistrer les modifications auparavant, mais maintenant, je reçois l'erreur ci-dessus chaque fois que je tape la commande pour enregistrer le fichier. S'il vous plaît aider.

18
Aditya

Vous pouvez, comme vi (ou, plus probablement, vim) dire forcer une écriture en faisant:

:w!

Sinon, écrivez le fichier dans un autre emplacement:

:w! /path/to/other/location

Pour vérifier où vos fichiers de sauvegarde sont écrits (normalement):

:se backup? backupdir? backupext? 

Essayez de touch un fichier de ce répertoire et voyez si votre système d'exploitation vous donne une erreur pour vous expliquer pourquoi votre éditeur ne peut pas y écrire.

31
Johnsyweb

Avait le même problème. C'est parce que j'ai installé vimconf en tant que root. Vous devez modifier les droits des fichiers du répertoire ~/.vim et en changer le propriétaire en votre utilisateur.

Sudo chmod 0750 ~/.vim
Sudo chown user ~/.vim
6
Piotr Pęczek

J'ai eu le même problème. Il s'avère que c'était dû à un manque d'espace disque. essayez de créer un fichier en utilisant Ex) touch test.txt. Si vous recevez un message disant touch: cannot touch test.txt: No space left on device, vous devrez libérer de l'espace sur votre disque.

3
Aaron Oommen

J'ai corrigé ça avec:

Sudo chown user ~/.cache/vim/* -R 

où "l'utilisateur" est votre nom d'utilisateur.

2

Avait le même problème. J'ai essayé toutes les options ci-dessus mais cela n'a pas fonctionné. Ensuite, lorsque j'ai vérifié mon espace disque, il était plein. Une fois que j'ai libéré de l'espace, j'ai pu réécrire dans le fichier.
P.S: C'était sous Linux.

2
naamadheya

à partir de vi, essayez:

:w!

:help w! donne les informations suivantes:

                                                       *:w!*
:[range]w[rite]! [++opt] {file}
                        Write the specified lines to {file}.  Overwrite an
                        existing file.
2
Fredrik Pihl

Je ne sais pas quelle en était la cause, mais j'ai déplacé backupdir de . à ~/.vim/backups dans mon fichier .vimrc et cela l'a résolu pour moi:

set backupdir=~/.vim/backups

J'imaginais qu'une sorte d'outil utilisait le dossier dans lequel je travaillais (Visual Studio 2013, dans mon cas), mais je ne suis pas sûr.

0
TankorSmash

Une autre possibilité est de placer vos sauvegardes dans un emplacement centralisé (par exemple,/tmp) et d’éditer un fichier particulier en tant que racine. Ensuite, le fichier de sauvegarde sera la propriété de root et ne pourra plus être écrit en tant que simple mortel plus tard.

Dans ce cas, la suggestion ci-dessus de toucher/tmp/atestfile ne montrera pas le problème! Vous aurez des autorisations en écriture, pas de problème, mais pas pour le fichier de sauvegarde particulier que vim tente d'écrire.

Supprimez le fichier en tant que root (Sudo rm).

Notez que la raison w! fonctionne parce que vim écrit le fichier sans écrire de fichier de sauvegarde (vous insistez pour qu’il écrive malgré l’erreur).

0
Greg Bell