J'ai ouvert un fichier en mode lecture seule; y a-t-il un moyen de sortir du mode lecture seule?
wchaque fois que je souhaite enregistrer. heh
J'ai ouvert un fichier en mode lecture seule; y a-t-il un moyen de sortir du mode lecture seule?
wchaque fois que je souhaite enregistrer. heh
Réponses:
Vous pourriez faire ceci:
:set noro
Cela désactive l'indicateur en lecture seule, mais si vous ne pouvez toujours pas écrire dans le fichier sous-jacent, vim ne pourra toujours pas y écrire.
:set ro.
viewmais décidez ensuite de le modifier.
Vous pouvez exécuter chmoddepuis vim:
:!chmod +w %
!signifie exécuter une commande shell et %correspond au nom de fichier actuel. Vous pouvez aussi simplement forcer l'écriture de fichier:
:w!
En plus de la réponse de Michael Mrozek , vous pouvez ajouter une ligne à votre .vimrcqui vous permet d'écrire dans un fichier que vous avez oublié d'ouvrir avec des autorisations élevées:
" Allows writing to files with root priviledges
cmap w!! w !sudo tee % > /dev/null
Si le fichier est en lecture seule, il vous suffit d'entrer :w!!, il vous sera demandé votre mot de passe et le fichier sera écrit avec succès.
Alors :set noroque le travail est effectué, il ne vérifie pas si le fichier est ouvert par une autre instance de vim ni ne met à jour le fichier s'il est modifié en externe.
Pour le rendre éditable et vérifier les fichiers d'échange (qui est le fichier par défaut ouvrant un fichier avec vim), utilisez simplement la commande d'édition (: help edit):
:e
Notez que si le fichier a été manipulé depuis (même en dehors de vim), il mettra à jour les modifications dans le tampon courant (ce que je trouve normalement souhaitable).
J'y vais, bien qu'un peu tard, peut-être que vous ayez déjà résolu votre doute;) Je n'ai vu aucun commentaire d'une manière que je connaisse avec vim , alors je l'ajoute:
Une fois que vous éditez un fichier, vous appuyez sur :wou :wqet vous voyez le message gênant " L’option " E45 'en lecture seule "est activée (ajoutez! Pour remplacer) "
Vous pouvez taper
:w !sudo tee %
w écrit le tampon, !sudo appelle la coquille avec sudo, teeredirige la sortie de vim :wvers la sortie avec tee, et% est le nom de fichier actuelEt cela devrait faire l'affaire. Notez que cela vous invitera à recharger le fichier dans vim, pour ce que vous devez appuyer sur L
!à lawcommande suffira, comme l’a déclaré Michael.