allNix — Astuces, tuto, docs sur Linux et autres

Changer l’éditeur par défaut sous Linux

Si vous avez choisi par erreur un éditeur par exemple pour modifier vos crontabs vous pouvez le changer à tout moment grâce à la commande : select-editor (testé sur debian et ubuntu).

# select-editor

Select an editor. To change later, run 'select-editor'.
 1. /bin/nano <---- easiest
 2. /usr/bin/vim.basic

Choose 1-2 [1]: 2

L’éditeur par défaut du système est géré par un lien symbolique dans /usr/bin/editor

La commande select-editor va modifier le fichier $HOME/.selected_editor pour l’utilisateur courant.

Par exemple sur ma machine dans le home de mon utilisateur :

# cat .selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

Depuis un certain temps, ce lien pointe lui aussi vers un autre lien /etc/alternatives/editor qui est modifié par les outils proposés par votre distribution linux.

Actuellement par exemple, sur cette machine, on peut vérifier l’éditeur par défaut du système est nano :

# ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 9 Jan 26 09:11 /etc/alternatives/editor -> /bin/nano

Si  vous le modifiez à l’aide de la commande update-alternative :

# update-alternatives --config editor
There are 2 choices for the alternative editor (providing /usr/bin/editor).

Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
 1 /bin/nano 40 manual mode
 2 /usr/bin/vim.basic 30 manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode

On regarde alors le lien symbolique dans /etc pour vérifier  :

# ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Jan 26 09:36 /etc/alternatives/editor -> /usr/bin/vim.basic

Vous pouvez aussi à tout moment changer temporairement l’éditeur par défaut à l’aide des variables d’environnement EDITOR ou VISUAL

# export EDITOR=vim

Pour supprimer la variable d’environnement dans votre contexte courant, il faut utiliser la commande unset :

# unset EDITOR