Lorsque vous utilisez Sudo visudo
, l'éditeur par défaut est nano
.
Je souhaite le changer en vi
ou vim
.
J'ai déjà défini vim
comme éditeur par défaut et je l’utilise comme substitut à gedit
pour ouvrir les fichiers php, .txt, .c et .h en plaçant un fichier vim.desktop
dans ~/.local/share/applications/
et en modifiant correctement le ~/.local/share/applications/mimeapps.list
ou le /etc/gnome/defaults.list
. Cependant, apparemment, cela ne s'applique pas à nano
.
Un indice?
Le problème n'est pas qu'il ne s'applique pas à nano
name__, mais qu'il ne s'applique pas au shell:
Définissez simplement la variable d'environnement VISUAL
name__:
export VISUAL=vim
Ajoutez ceci aussi ~/.bashrc pour le rendre permanent.
Comme vous semblez utiliser vim en général, définissez à la fois VISUAL
et EDITOR
name__:
export VISUAL="vim"
export EDITOR="$VISUAL"
ou plus POSIX-correct
VISUAL="vim" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR
Je suppose que nano
était la valeur d'une ou des deux variables.
Pour utiliser réellement l'éditeur dans visudo, nous devons gérer le fait que Sudo
ne conserve pas les variables d'environnement normalement. L'option -E
change cela.
Sudo -E visudo
Sans le -E
ici, vous vous retrouveriez avec une valeur par défaut de nano
name__
Les deux variables étaient déjà utilisées bien avant les fichiers nommés *.desktop
ou mime*
existaient même.
(Et ce qui est impressionnant, c’est qu’ils ont été utilisés comme norme commune .)
Sous Ubuntu, la valeur par défaut du système semble être Sudo update-alternatives --config editor
. Il montre un menu pour changer l'association actuelle.
Voir la section ENVIRONMENT
in man visudo
:
VISUAL Invoked by visudo as the editor to use
EDITOR Used by visudo if VISUAL is not set
Comme décrit dans cette réponse , ajoutez
Defaults editor=/path/to/editor
au fichier sudoers .
Remarque: cela ne fonctionnera que si le fichier en cours d'édition contient la ligne Defaults editor=/path/to/editor
ou inclut un fichier qui le contient.
Par exemple: visudo -f /etc/sudoers.d/my_sudoers_extension
sera par défaut à Nano.
Si vous n'envisagez jamais d'utiliser nano, vous pouvez également le supprimer. Ensuite, le système utilisera vi/vim par défaut.
Sudo apt-get purge nano
Je sais que ce n'est pas la réponse officielle, mais c'est l'une des premières commandes pour moi après l'installation d'Ubuntu.