web-dev-qa-db-fra.com

Comment changer visudo editor de nano à vim?

Quand j'utilise visudo, il l'ouvre toujours avec l'éditeur nano. Comment changer l'éditeur de vim?

101
dedunumax

Tapez Sudo update-alternatives --config editor

Vous obtiendrez un texte comme ci-dessous.

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 3

Recherchez le numéro de sélection vim.basic ou vim.tiny. Tapez-le et appuyez sur Entrée. La prochaine fois que vous ouvrirez visudovotre éditeur sera vimname__

168
dedunumax

Si vous voulez simplement que votre tilisateur utilise par défaut un éditeur différent, ajoutez

export EDITOR=vim; 

dans votre .profile (ou partout où vous conservez votre environnement de démarrage si vous utilisez un shell différent de bash). Déconnectez-vous, connectez-vous, vérifiez que la variable est définie:

[romano:~] % env | grep EDI
EDITOR=vim

et maintenant tous les programmes qui appellent un éditeur (et qui sont bien écrits) utiliseront par défaut vimpour votre utilisateur.

Comme noté par @EliahKagan (merci!) Dans le commentaire, cela ne fonctionnera pas pour visudoname__: puisque vous êtes censé l'appeler en utilisant Sudoname__, quand vous le ferez

Sudo visudo

la commande Sudonettoie (lit: supprime) la plupart des variables d’environnement avant l’augmentation des privilèges --- et c’est une bonne chose. La modification ne sera donc pas transférée dans visudoname__. Pour qu'il fonctionne encore, vous devez l'appeler comme suit:

Sudo EDITOR=vim visudo

Enfin, comme indiqué ici, vous pouvez également ajouter une ligne à votre fichier /etc/sudoers près du sommet, qui se lit comme suit:

Defaults editor=/usr/bin/vim 

Un mot d'avertissement: lors de la modification de votre configuration sudoersname__, maintenez un terminal ouvert contenant un shell racine (avec Sudo -i). Vous ne savez jamais, et vous pouvez facilement être bloqué hors de la racine.

34
Rmano