Parfois, lorsque je crée un fichier à l'aide de vim some/path/newfile
, vim me permet de le modifier, uniquement pour me plaindre lorsque j'essaie d'enregistrer mes modifications.
E212 Can't open file for writing.
Cela semble se produire uniquement lorsque le nouveau fichier se trouve dans un répertoire système.
:w!
ne remplace pas cette erreur.
Comment puis-je écrire le tampon actuel, sans avoir à l'enregistrer dans un emplacement temporaire, quitter, puis le renommer à l'aide de sudo?
Cela vous demandera le mot de passe root, puis enregistrera vos modifications comme vous l'avez demandé:
:w !Sudo tee %
Tapez ensuite (L) oad à l'invite, pour recharger le fichier après l'avoir enregistré.
Ajoutez cette ligne à votre .vimrc
:
cmap w!! %!Sudo tee > /dev/null
et ensuite vous pouvez faire
:w!!
lorsque vous arrivez dans cette position, et il va écrire le fichier en utilisant Sudo. Très utile.
Vous pouvez mkdir d'abord, puis l'enregistrer.
Si vous voulez une solution robuste et facile à retenir et que cela ne vous dérange pas d'installer un plugin, essayez SudoEdit.vim - Éditez les fichiers en utilisant Sudo ou su ou tout autre outil .
Si c'est le cas dans Windows 7 ou les éditions ultérieures, exécutez l'éditeur de VI en tant qu'administrateur. Faites un clic droit sur l'application et sélectionnez "Exécuter en tant qu'administrateur". Ce problème sera résolu. De plus, l'erreur est due aux privilèges administratifs.
vous pouvez essayer de le faire en deux étapes, créez d'abord le dossier 'some' et 'path' en utilisant mkdir ~; ensuite vous allez dans le dossier 'path', utilisez la commande: Sudo vim new file.enregistrer ensuite
Pour ce que cela vaut, vous pouvez également vous assurer que vous disposez d'un espace de stockage suffisant dans la partition où vous essayez d'enregistrer le fichier. J'ai dû libérer de l'espace sur mon lecteur/home et cela a résolu le problème.