Si sabe de antemano que necesita editar un archivo como root, use los comandos sudoedit <file>
o sudo -e <file>
lo configurará en un entorno especial para hacerlo con sus preferencias habituales de editor. Se realiza una copia del archivo y se inicia su editor para editarlo (como su usuario). Cuando salga, el archivo se copia de nuevo a su ubicación original como raíz.
Esa es la forma más segura y recomendada, pero en el caso de que a) no se dé cuenta de antemano que necesitará escribir como root o b) quiera editar y guardar cambios incrementales en el lugar, necesitará algo más. Para este fin, la solución sudo tee
propuesta por smpl definitivamente está en el camino correcto, pero hay algunas mejoras menores que se pueden hacer para manejar casos extremos . Cabe destacar la diferencia en el manejo de la solicitud de contraseña de sudo en una interfaz gráfica de usuario frente a las interfaces de consola.
Una forma más fácil de configurar esto es usar el complemento vim-eunuch . Tiene este problema en particular y algunas otras cosas útiles acumuladas en un paquete práctico. El uso es tan simple como llamar :SudoWrite
. Incluso uso un mapeo de acceso ligeramente más útil:
cmap w!! call SudoWrite()
Eso debería darle la capacidad de escribir cualquier archivo como root usando :w!!
.
sudo vim file
se escribe mejor comosudo -e file
(siempre que establezca la variable de entornoEDITOR=vim
).