Al usar Vim para editar un archivo de solo lectura, solo proporcionará una advertencia la primera vez que se edite, pero permitirá que se realicen cambios. Puedo entender que este comportamiento podría ser útil para alguien con la intención de guardar el archivo con otro nombre; pero a veces abro archivos a los que no tengo acceso de escritura, luego olvido y hago cambios.
¿Es posible ingresar a un modo en el que Vim permitirá ver el archivo pero bloqueará cualquier opción que realice cambios?
filetype
formatting
ZeroKelvinKeyboard
fuente
fuente
let &modifiable = !&readonly
autocmd BufRead * let &modifiable = !&readonly
readonly
archivo y luego crear un nuevo búfer, el nuevo búfer terminanomodifiable
.Agregue esto a su .vimrc:
fuente
Si bien las respuestas anteriores son correctas, hay otra cosa a tener en cuenta: siempre que el archivo sea de "solo lectura", no debería haber forma de cambiar el contenido del archivo a menos que usted sea el propietario del archivo o tiene derecho a hacer que ese archivo sea editable. E incluso entonces, vim no escribe cambios en el archivo a menos que anule explícitamente el estado "solo lectura" por ": w!".
Si de hecho puede editar un archivo que se supone que es de solo lectura, es posible que desee volver a verificar los derechos, puede haber una mala configuración de seguridad. Si solo hace que vim no pueda editar el archivo, otras formas de edición seguirán vigentes, por lo que si el archivo no se va a cambiar, debe tener los derechos establecidos correctamente. En Windows, puede forzar que el archivo sea de solo lectura al negar explícitamente el cambio a todos, en Linux puede usar el atributo extendido "inmutable" (chattr + i).
fuente