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.
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.
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
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.
J'ai corrigé ça avec:
Sudo chown user ~/.cache/vim/* -R
où "l'utilisateur" est votre nom d'utilisateur.
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.
à 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.
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.
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).