Comment puis-je changer l'éditeur par défaut de la commande sudoedit pour qu'il soit vim?

23

J'essaie d'utiliser sudoedit, mais il continue d'exécuter l' nanoéditeur. Mon éditeur préféré est vim. Comment puis-je en faire la valeur par défaut?

En regardant la page de manuel, man sudoeditj'ai remarqué ce qui suit:

 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.

Je les ai donc tous définis /usr/bin/vim, mais les sudoedit /etc/hostsutilise toujours nano. Suis-je en train de manquer quelque chose?

$ 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
la source
Et alors sudo vim?
Cornelius
@Cornelius Cela fonctionne, c'est ma solution de contournement pour le problème en ce moment.
Dan
1
essayez plutôt sudo visudo
animaletdesequia
@darent visudo: /etc/sudoers: Permission denied. Qu'est-ce que c'est?
Cornelius
2
@darent visudoest un programme différent. Il est juste là pour vous le permettre edit the sudoers file. man visudo
Dan

Réponses:

27

Courez sudo update-alternatives --config editoret choisissez vim. Après cela, sudoedit /etc/hostsdevrait s'ouvrir en /etc/hostsutilisant vim.

Vous pouvez également utiliser sudo vim /etc/hosts.

Louis Matthijssen
la source
12

Essayez d'exporter la variable, c'est-à-dire:

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

Un nouveau shell est démarré lorsque vous exécutez la commande et si cette variable n'est pas exportée, elle n'existera pas dans le nouveau shell.

James Littlefield
la source
Étant donné que la question est plus liée à l'exportation qu'à la définition d'une variable d'environnement et que la manière alternative de faire sudo vim /etc/hostsn'est pas pertinente ici, cela devrait être la réponse acceptée.
BcK