Según el alcance de los cambios, podría ser más rápido guardar (:w
) su archivo con un nombre diferente, y luego use sudo
y cat
para sobrescribir el contenido del archivo original:
sudo sh -c 'cat changed > file'
Tenga en cuenta que tanto cp
y mv
reemplazará el archivo original y sus atributos (propiedad, permisos, ACL) se perderán. No los use a menos que sepa cómo arreglar los permisos después.
Prueba
:w !sudo tee "%"
El w !
toma todo el archivo y lo canaliza a un comando de shell. El comando de shell es sudo tee
que ejecuta tee
como superusuario. %
se reemplaza con el nombre de archivo actual. Se necesitan comillas para los archivos que tienen espacios o cualquier otro carácter especial en sus nombres.
Guarde el archivo en otro lugar (como su carpeta de inicio) y luego sudo mv
sobrescribir el original?