¿Cuáles son las limitaciones en el modo de solo lectura que te molestan? Si es solo que desea escribir el archivo, aunque lo abra como de solo lectura, entonces agregar un comando !al wcomando será suficiente, como dijo Michael.
Bananguin
1
@ user1129682 es solo el inconveniente de recordar poner un signo de exclamación wcada vez que quiero guardar. je
wrongusername
Respuestas:
44
Podrías hacer esto:
:set noro
Eso deshabilita 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.
Además de la respuesta de Michael Mrozek , puede agregar una línea a la suya .vimrcque le permita escribir en un archivo que ha descuidado 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 tiene que ingresar :w!!, se le pedirá su contraseña y luego el archivo se escribirá con éxito.
Si bien :set norohace el trabajo, no comprueba si el archivo es abierto por otra instancia de vim o actualiza el archivo si se cambia externamente.
Para hacerlo editable y buscar archivos de intercambio (que es la apertura predeterminada de un archivo con vim) solo 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 me parece deseable).
Aquí voy, aunque un poco tarde, tal vez ya resolvió su duda;) No he visto en ninguno de los comentarios una forma que conozca con vim , así que lo agrego:
Una vez que esté editando un archivo, presione :wo :wqy verá el molesto mensaje " La opción 'solo lectura' E45 está configurada (¡agregar! Para anular) "
Puedes escribir
:w !sudo tee %
w escribe el búfer,
!sudo llama al caparazón con sudo,
teeredirige la salida de vim :wa la salida con tee, y
% es el nombre de archivo actual
Y eso debería hacer el truco. Tenga en cuenta que esto le pedirá que vuelva a cargar el archivo en vim, para lo que debe presionar L
!
alw
comando será suficiente, como dijo Michael.w
cada vez que quiero guardar. jeRespuestas:
Podrías hacer esto:
Eso deshabilita 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.
fuente
:set ro
.view
pero luego decide editarlo.Puedes correr
chmod
desde vim:!
significa ejecutar un comando de shell y%
es el nombre de archivo actual. También puede forzar la escritura del archivo:fuente
Además de la respuesta de Michael Mrozek , puede agregar una línea a la suya
.vimrc
que le permita escribir en un archivo que ha descuidado abrir con permisos elevados:Si el archivo es de solo lectura, solo tiene que ingresar :w!!, se le pedirá su contraseña y luego el archivo se escribirá con éxito.
fuente
Si bien
:set noro
hace el trabajo, no comprueba si el archivo es abierto por otra instancia de vim o actualiza el archivo si se cambia externamente.Para hacerlo editable y buscar archivos de intercambio (que es la apertura predeterminada de un archivo con vim) solo use el comando de edición (: ayuda a editar):
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 me parece deseable).
fuente
Aquí voy, aunque un poco tarde, tal vez ya resolvió su duda;) No he visto en ninguno de los comentarios una forma que conozca con vim , así que lo agrego:
Una vez que esté editando un archivo, presione
:w
o:wq
y verá el molesto mensaje " La opción 'solo lectura' E45 está configurada (¡agregar! Para anular) "Puedes escribir
w
escribe el búfer,!sudo
llama al caparazón con sudo,tee
redirige la salida devim :w
a la salida con tee, y%
es el nombre de archivo actualY eso debería hacer el truco. Tenga en cuenta que esto le pedirá que vuelva a cargar el archivo en vim, para lo que debe presionar L
fuente