Lorsque vous utilisez Vim pour éditer un fichier en lecture seule, il fournira simplement un avertissement la première fois qu'il sera édité mais autorisera toutes les modifications. Je peux comprendre que ce comportement pourrait être utile pour quelqu'un qui a l'intention d'enregistrer le fichier sous un autre nom; mais j'ouvre parfois des fichiers auxquels je n'ai pas accès en écriture, puis j'oublie et j'apporte des modifications.
Est-il possible d'entrer dans un mode où Vim permettra au fichier d'être visualisé mais bloquera toute option qui apporte des modifications?
la source
let &modifiable = !&readonly
autocmd BufRead * let &modifiable = !&readonly
readonly
fichier puis créé un nouveau tampon, le nouveau tampon se terminenomodifiable
.Ajoutez ceci à votre .vimrc:
la source
Dans la mesure où les réponses ci-dessus sont correctes, il y a une autre chose à prendre en compte: tant que le fichier est en "lecture seule", il ne devrait y avoir aucun moyen de modifier le contenu du fichier à moins que vous ne soyez le propriétaire du fichier ou ont le droit de rendre ce fichier accessible en écriture. Et même alors, vim n'écrit pas les modifications dans le fichier, sauf si vous remplacez explicitement l'état "lecture seule" par ": w!".
Si vous pouvez en fait modifier un fichier qui est censé être en lecture seule, vous voudrez peut-être revérifier les droits, il peut y avoir une mauvaise configuration de la sécurité. Si vous ne rendez que vim incapable de modifier le fichier, d'autres moyens de modification seront toujours en place, donc si le fichier ne doit pas être modifié, il devrait avoir les droits définis correctement. Dans Windows, vous pouvez forcer le fichier à être en lecture seule en refusant explicitement le droit de modification à tout le monde, sous Linux, vous pouvez utiliser l'attribut étendu "immuable" (chattr + i).
la source