Comment puis-je quitter le mode lecture seule dans Vim?
On février 18, 2021 by adminJai ouvert un fichier en mode lecture seule; existe-t-il un moyen de sortir du mode lecture seule?
Commentaires
Réponse
Vous pouvez faire ceci:
:set noro
Cela désactive lindicateur en lecture seule, mais si le fichier sous-jacent nest toujours pas accessible en écriture par vous, alors vim ne pourra toujours pas y écrire.
Commentaires
- comment inverser cela et revenir en arrière en lecture seule?
- @LouisHong Très facilement:
:set ro
. - Cest parfait si vous ouvrez un fichier inscriptible avec
view
mais décidez ensuite de le modifier. - Linverse peut également être utile. Par exemple,
psql
a une méta commande (\ev
) pour modifier une vue SQL, qui ouvre vim en écriture. Mais, si je veux massurer de ne pas ' changer la vue (en production!), Je peux immédiatement:set ro
. 🙂
Réponse
Vous pouvez exécuter chmod
de lintérieur vim:
:!chmod +w %
!
signifie exécuter une commande shell, et %
est le nom de fichier actuel. Vous pouvez également simplement forcer lécriture du fichier:
:w!
Réponse
En plus à la réponse de Michael Mrozek , vous pouvez ajouter une ligne à votre .vimrc
qui vous permet décrire dans un fichier que vous avez négligé douvrir 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 de saisir : w ! ! , vous serez invité à entrer votre mot de passe et le fichier sera écrit avec succès.
Réponse
Alors que :set noro
fait le travail, il ne vérifie pas si le fichier est ouvert par une autre instance de vim ou met à jour le fichier sil est modifié en externe.
Pour le rendre modifiable et vérifier les fichiers déchange (qui est la valeur par défaut pour ouvrir un fichier avec vim), utilisez simplement la commande edit (: help edit):
:e
Notez que si le fichier a été manipulé depuis (même en dehors de vim), il mettra à jour les changements dans le tampon actuel (ce que je trouve normalement souhaitable).
Réponse
Voilà, bien quun peu tard, peut-être que vous avez déjà résolu votre doute;) Je nai pas vu dans lun des commentaires que je connais avec vim , alors, je lajoute:
Une fois que vous modifiez un fichier, vous appuyez sur :w
ou :wq
et vous voyez le message ennuyeux « Loption E45 « readonly » est définie (ajouter! pour remplacer) «
Vous pouvez taper
:w !sudo tee %
-
w
écrit le tampon, -
!sudo
appelle le shell avec sudo, -
tee
redirige la sortie devim :w
vers la sortie avec tee, et - est le nom de fichier actuel
Et cela devrait faire laffaire. Notez que cela vous demandera de recharger le fichier dans vim, pour ce que vous devez appuyer sur L
Réponse
Essayez celle-ci:
vim -R "filename"
il souvre en mode lecture seule, puis il suffit de faire cette commande: q
Jai essayé et cela a fonctionné pour moi
Commentaires
- Désolé. Je nai aucune idée de ce que vous dites.
Réponse
Essayez dutiliser sudo
. En tant que root
, vous devez ouvrir le fichier. Sudo
est une commande dans laquelle vous pouvez demander lautorisation de Linux.
Par exemple.
sudo vim "filename"
Commentaires
- Cela na rien à voir avec les autorisations ou les privilèges.De plus, vous ne devez jamais utiliser
sudo
pour exécuter un éditeur; utilisez plutôtsudoedit
.
!
auw
fera laffaire, comme Michael la déclaré.w
chaque fois que je veux enregistrer. heh