¿Cómo puedo salir del modo de solo lectura en Vim?
On febrero 18, 2021 by adminAbrí un archivo en modo de solo lectura; ¿Hay alguna manera de salir del modo de solo lectura?
Comentarios
Respuesta
Puedes hacer esto:
:set noro
Eso desarma el indicador de solo lectura, pero si el archivo subyacente aún no se puede escribir, entonces vim aún no podrá escribir en él.
Comentarios
- cómo revertir esto y volver para leer sólo?
- @LouisHong Muy fácilmente:
:set ro
. - Esto es perfecto si abre un archivo escribible con
view
pero luego decide editarlo. - Lo contrario también puede ser útil. Por ejemplo,
psql
tiene un metacomando (\ev
) para editar una vista SQL, que abre vim para escribir. Pero, si quiero asegurarme de no ' cambiar la vista (¡en producción!) Inmediatamente puedo:set ro
. 🙂
Respuesta
Puede ejecutar chmod
desde dentro vim:
:!chmod +w %
!
significa ejecutar un comando de shell y %
es el nombre de archivo actual. También puede forzar la escritura del archivo:
:w!
Respuesta
Además a la respuesta de Michael Mrozek , puedes agregar una línea a tu .vimrc
que te permita escribir en un archivo que ha olvidado abrir con permisos elevados:
" Allows writing to files with root priviledges cmap w!! w !sudo tee % > /dev/null
Si el archivo es de solo lectura, solo debe ingresar : w ! ! , se le pedirá su contraseña y luego el archivo se escribirá correctamente.
Responder
Si bien :set noro
hace el trabajo, no comprueba si el archivo está abierto por otra instancia de vim o actualiza el archivo si se cambia externamente.
Para hacerlo editable y verificar archivos de intercambio (que es la apertura predeterminada de un archivo con vim) simplemente use el comando de edición (: ayuda a editar):
:e
Tenga en cuenta que si el archivo ha sido manipulado desde entonces (incluso fuera de vim), actualizará los cambios en el búfer actual (que normalmente considero deseable).
Responder
Aquí voy, aunque un poco tarde, tal vez ya resolviste tu duda;) No he visto en cualquiera de los comentarios de una manera que conozco con vim , así que lo agrego:
Una vez que estás editando un archivo, presionas :w
o :wq
, y ves el molesto mensaje « La opción E45 «readonly» está configurada (¡agregar! para anular) «
Puede escribir
:w !sudo tee %
-
w
escribe el búfer, -
!sudo
llama al shell con sudo, -
tee
redirige la salida devim :w
a la salida con tee, y - es el nombre de archivo actual
Y eso debería funcionar. Tenga en cuenta que esto le pedirá que vuelva a cargar el archivo en vim, para lo que debe presionar L
Respuesta
Prueba este:
vim -R "filename"
se abre en modo de solo lectura, luego simplemente haz este comando: q
Lo intenté y funcionó para mí
Comentarios
- Lo siento. No tengo idea de lo que estás diciendo.
Responder
Intenta usar sudo
. Como root
debe abrir el archivo. Sudo
es un comando en el que puede solicitar permiso a linux.
Ej.
sudo vim "filename"
Comentarios
- Esto no tiene nada que ver con permisos o privilegios.Además, nunca debe utilizar
sudo
para ejecutar un editor; usesudoedit
en su lugar.
!
alw
hará el truco, como dijo Michael.w
cada vez que quiera guardar. heh