Cambiar el editor predeterminado cuando sudo visudo

21

Al hacer sudo visudo , el editor predeterminado es nano .
Quiero cambiarlo a vi o vim .

Ya elaboré vim el editor predeterminado, y lo uso como un sustituto para gedit para abrir archivos php, .txt, .c y .h, colocando un archivo vim.desktop en ~/.local/share/applications/ y por editando correctamente ~/.local/share/applications/mimeapps.list o /etc/gnome/defaults.list . Sin embargo, aparentemente esto no se aplica a nano .

¿Alguna pista?

    
pregunta Cbhihe 01.10.2014 - 20:46

3 respuestas

17

El problema no es que no se aplique a nano , es que no se aplica al shell:

Simplemente configure la variable de entorno VISUAL :

export VISUAL=vim

Añade esto también ~ / .bashrc para hacerlo permanente.

Como parece que usas vim en general, configura tanto VISUAL como EDITOR :

export VISUAL="vim"
export EDITOR="$VISUAL"

o más POSIX-correct

VISUAL="vim" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR

Supongo que nano es el valor de una o ambas variables.

Para utilizar el editor en visudo en realidad, necesitamos controlar que sudo no mantenga las variables de entorno normalmente. La opción -E cambia eso.

sudo -E visudo

Sin el -E aquí, terminarías con un valor predeterminado de nano nuevamente


Las dos variables estaban en uso mucho antes de que existieran archivos llamados *.desktop o mime* .
(Y lo impresionante es que se usaron como estándar común )
En Ubuntu, el sistema predeterminado parece estar configurado con sudo update-alternatives --config editor . Muestra un menú para cambiar la asociación actual.


Consulte la sección ENVIRONMENT en man visudo :

  VISUAL           Invoked by visudo as the editor to use

  EDITOR           Used by visudo if VISUAL is not set
    
respondido por el Volker Siegel 01.10.2014 - 21:42
8

Como se describe en esta respuesta , agregue

Defaults editor=/path/to/editor

al archivo sudoers .

Nota: esto solo funcionará si el archivo que se está editando contiene la línea Defaults editor=/path/to/editor o si incluye un archivo que lo contiene.

Por ejemplo: visudo -f /etc/sudoers.d/my_sudoers_extension se configurará por defecto en Nano.

    
respondido por el Muhamed Huseinbašić 19.01.2017 - 15:29
2

Si nunca planea usar nano, también puede simplemente eliminarlo. Entonces el sistema usará vi / vim como el predeterminado.

sudo apt-get purge nano

Sé que no es la respuesta oficial, pero es uno de los primeros comandos para mí después de instalar Ubuntu.

    
respondido por el Philipp Claßen 11.01.2018 - 16:58

Lea otras preguntas en las etiquetas