Es realmente frustrante cuando necesito editar un archivo como root y usarlo sudo vim somefile.conf
y no puedo usar ninguna de mis combinaciones de teclas, configuraciones y complementos.
¿Hay alguna forma de obtener todas mis personalizaciones cuando necesito editar como root?
Estoy usando vim-plug para mis complementos.
vimrc
plugin-system
Robbie Wxyz
fuente
fuente
sudo vim file
se escribe mejor comosudo -e file
(siempre que establezca la variable de entornoEDITOR=vim
).Respuestas:
En lugar de abrir vim como root, simplemente puede guardar como root redirigiendo a tee. Aquí hay un ejemplo:
Esto puede ser útil para alias en su .vimrc, yo uso
:Sw
:fuente
I did a bunch of editing and then realized I should have used sudoedit
, pero para el caso general sugeriría usarsudo -e
/sudoedit
.Dos cosas:
Use
$ sudo -e file
para editarfile
con$EDITOR
. Agregarexport EDITOR=/path/to/vim
si aún$EDITOR
no está configurado.Ir a la vainilla es una excelente manera de combatir su adicción a los complementos.
fuente
sudo vim
hace. La edición ocurre como su usuario normal y luego sudo maneja la actualización del archivo original.sudo
:-E
y-e
.-E
significa "entorno de preservación", y este no es el que desea.-e
, a su vez, significa "no ejecutar un comando, sino editar un archivo con un procedimiento definido".Parece que todo lo que tienes que hacer es vincular la raíz del enlace simbólico
~/.vimrc
y la~/.vim/
tuya.Solo ejecuta como root:
¡Y eso debería hacerlo!
(PD: descubrí esto hace un momento y quería compartirlo con otros novatos. Avísame si hay una mejor manera).
fuente
Si sabe de antemano que necesita editar un archivo como root, use los comandos
sudoedit <file>
osudo -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:Eso debería darle la capacidad de escribir cualquier archivo como root usando
:w!!
.fuente
Otra opción es ejecutar
sudo -E vim somefile.conf
para editar, lo que preservará su entorno, por lo tanto.vimrc
, se usarán sus complementos.fuente