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

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.


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.


É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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.