Guardar un fichero dentro de VIM cuando no tenemos permisos

Era un poco complicado poner título a esta entrada, no obstante seguro que a todos nos ha pasado que comenzamos a editar un fichero desde vim o vi y a la hora de grabar nos damos cuenta que no tenemos privilegios para guardarlo (ya sea porque es propietario root u otro usuario), recibimos un error similar a:

W10: Advertencia: cambiando un fichero de sólo lectura 58,1 Final

E45: Está activa la opción «readonly» (añada «!» para forzar).

E212: No puedo abrir el fichero para escribir en él.

Si tenemos la posibilidad de hacer uso de sudo con nuestro usuario, la solución para poder grabar el fichero sin necesidad de salir de vim es del siguiente modo. Tenemos que entrar en modo comandos (ESC) y ejecutar lo siguiente:

:w !sudo tee %
[sudo] password for alex: 

Nos pedirá la clave de sudo y podremos guardar el fichero ;)

3 comentarios en “Guardar un fichero dentro de VIM cuando no tenemos permisos

  1. Elegante. Cuantas veces tuve que repetir lo ya hecho en vi, todo por los «!»#$$#*&% permisos.
    Gracias por el aporte.

Comments are closed.