¿Cómo puedo cambiar el editor predeterminado del comando sudoedit para que sea vim?

23

Estoy tratando de usar sudoedit, pero sigue ejecutando el nanoeditor. Mi editor preferido es vim. ¿Cómo puedo hacer que sea el predeterminado?

Al mirar la página del manual, man sudoeditnoté lo siguiente:

 EDITOR           Default editor to use in -e (sudoedit) mode if neither SUDO_EDITOR nor VISUAL is set.
 SUDO_EDITOR      Default editor to use in -e (sudoedit) mode.
 VISUAL           Default editor to use in -e (sudoedit) mode if SUDO_EDITOR is not set.

Así que los configuré todos /usr/bin/vim, pero sudoedit /etc/hostsaún los usa nano. ¿Me estoy perdiendo de algo?

$ EDITOR=/usr/bin/vim
$ VISUAL=/usr/bin/vim
$ SUDO_EDITOR=/usr/bin/vim

$ echo $VISUAL
/usr/bin/vim

$ echo $EDITOR 
/usr/bin/vim

$ echo $SUDO_EDITOR 
/usr/bin/vim

$ sudoedit /etc/hosts # This is still using nano
Dan
fuente
¿Qué hay de sudo vim?
Cornelius
@ Cornelius Eso funciona, esa es mi solución para el problema en este momento.
Dan
1
prueba sudo visudo en su lugar
animaletdesequia
@darent visudo: /etc/sudoers: Permission denied. ¿Que es eso?
Cornelius
2
@darent visudoes un programa diferente. Simplemente está ahí para permitírtelo edit the sudoers file. man visudo
Dan

Respuestas:

27

Corre sudo update-alternatives --config editory elige para vim. Después de esto, sudoedit /etc/hostsdebería abrir /etc/hostsusando vim.

Alternativamente puedes usar sudo vim /etc/hosts.

Louis Matthijssen
fuente
12

Intente exportar la variable, es decir:

$ SUDO_EDITOR=/usr/bin/vim
$ export SUDO_EDITOR

Se inicia un nuevo shell cuando ejecuta el comando y si esta variable no se exporta, no existirá en el nuevo shell.

James Littlefield
fuente
Dado que la pregunta está más relacionada con la exportación frente a la configuración de una variable de entorno y la forma alternativa de hacerlo sudo vim /etc/hostsno es relevante aquí, esta debería ser la respuesta aceptada.
BcK