2012-06-06 14 views
15

A veces, cuando edito un archivo que requiere permiso de raíz (por ejemplo, archivos en/etc), pero olvido ejecutar vim como sudo.¿Puedo obtener el permiso de root sin dejar vim?

Después de la edición finalizada, y escriba :wq para guardar y salir, me parece que no puedo, incluso usando !wq, porque el archivo es de solo lectura.

Si salgo y vuelvo a editar el archivo, todo mi trabajo se perderá, pero si no, no puedo guardar mi edición. Entonces, ¿cómo puedo obtener permiso de root para escribir sin abandonar vim?

+0

No creo que puedas, solo copia lo que tengas, cierra vim, ejecuta con sudo y pega. editar: o hacer como respondió darryn.ten. –

+2

Puede marcar la respuesta como correcta ahora :) –

+0

@ darryn.ten No hay respuestas "correctas". Solo respuestas 'útiles' y/o 'aceptadas' :) – sehe

Respuesta

23

para forzar una utilizar Guardar el siguiente comando

:w !sudo tee % 

Se le pedirá su contraseña.

+1

Nunca puedo recordar esto cuando lo necesito:/ –

+0

Me obligué a recordarlo ya que lo uso con bastante regularidad –

+6

@Michael: una solución común utilizada para eliminar la necesidad de recordar un comando complejo es crear uno personalizado: ': ¡comando! W w! Sudo tee%>/dev/null'. –

3

El truco mencionado con tee es bueno; si necesita esto con frecuencia, le recomendaría el SudoEdit plugin, que ofrece un comando :SudoWrite (e incluso un controlador de protocolo sudo:).

Cuestiones relacionadas