J'essaie d'utiliser :wq
pour enregistrer un fichier texte que j'ai édité dans Vim, mais quand j'entre, :wq
j'obtiens l'erreur
E45: 'readonly' option is set (add ! to override)`
Quand j'ajoute !
à :wq
aimer :wq!
, j'obtiens ceci:
"/etc/dhcp/dhcpd.conf"
"/etc/dhcp/dhcpd.conf" E212: Can't open file for writing
Le fichier que je souhaite modifier se trouve dhcpd
sur le /etc/dhcpd
chemin.
Comment puis-je faire ceci?
:x
ouZZ
pour quitter et enregistrer. Il n'écrira qu'en cas de changement.Réponses:
Vous devez ouvrir le fichier à l'aide des autorisations de superutilisateur comme suit:
éditez le fichier en appuyant sur ipuis enregistrez et quittez en appuyant sur Escpuis sur
:wq
ou:x
ou simplement:w
pour enregistrer.Merci à Riking d' avoir suggéré
sudoedit
: vous pouvez utilisersudoedit /path/to/file/filename
pour éditer des fichiers appartenant à root plutôt que d'utilisersudo <editor> /pat/to/file/filename
. Ceci est utile pour les machines de niveau entreprise ou les machines de production puisque sudoedit se connecte à/var/log/auth.log
.Si vous souhaitez modifier l'éditeur par défaut de sudoedit, procédez comme suit:
puis appuyez sur Returnet choisissez l'éditeur de votre choix et appuyez à nouveau sur Return.
Voir aussi: Une discussion sur redit sur les raisons pour lesquelles sudoedit peut être avantageux
la source
sudoedit
pour ces situations - il crée une copie temporaire, exécute l'éditeur et copie le résultat. Si vous avez précédemment choisinano
cette commande, exécutezEDITOR=vi sudoedit /etc/file
.sudoedit
, je ne savais même pas que cela existait. Cependant, je suis tombé sur cela en cherchant sur Googlesudoedit
. Je vais le suggérer, mais laissez-le à l'utilisateur s'il le juge nécessaire.sudoedit
reprend également laEDITOR
variable, il est plus facile de le définir que de configurer des alternatives/etc
se compose de tous les fichiers de configuration afin de modifier les fichiers sous/etc
vous avez besoin des autorisations de super-utilisateur mais parfois nous oublions d'utilisersudo
. mais à ce moment là on peut aussi utiliserpuis entrez votre mot de passe administrateur
pour sortir avec succès
la source
cmap w!! w !sudo tee > /dev/null %
à votre.vimrc
pour permettre l'enregistrement via cette méthode avec:w!!
. Si vous souhaitez savoir pourquoi cette méthode fonctionne, consultez stackoverflow.com/questions/2600783/…