J'ai ouvert un fichier en mode lecture seule; y a-t-il un moyen de sortir du mode lecture seule?
w
chaque 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?
w
chaque 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
.
view
mais décidez ensuite de le modifier.
Vous pouvez exécuter chmod
depuis 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 .vimrc
qui 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 noro
que 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 :w
ou :wq
et 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, tee
redirige la sortie de vim :w
vers 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
!
à law
commande suffira, comme l’a déclaré Michael.