Как я могу изменить редактор по умолчанию команды sudoedit на vim?

23

Я пытаюсь использовать sudoedit, но он продолжает работать в nanoредакторе. Мой предпочитаемый редактор vim. Как я могу сделать это по умолчанию?

Глядя на справочную страницу man sudoedit, я заметил следующее:

 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.

Поэтому я установил их все /usr/bin/vim, но sudoedit /etc/hostsвсе еще использую nano. Я что-то пропустил?

$ 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
Дэн
источник
Как насчет sudo vim?
Корнелиус
@Cornelius Это работает, это мой способ обойти проблему в данный момент.
Дан
1
вместо этого попробуйте sudo visudo
animaletdesequia
@darent visudo: /etc/sudoers: Permission denied. Что это?
Корнелиус
2
@darent visudo- это другая программа. Это просто там, чтобы позволить вам edit the sudoers file. man visudo
Дан

Ответы:

27

Беги sudo update-alternatives --config editorи выбирай для vim. После этого sudoedit /etc/hostsследует открыть /etc/hostsс помощью vim.

В качестве альтернативы вы можете использовать sudo vim /etc/hosts.

Луи Матейссен
источник
12

Попробуйте экспортировать переменную, т.е.

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

Новая оболочка запускается при запуске команды, и если эта переменная не экспортируется, она не будет существовать в новой оболочке.

Джеймс Литтлфилд
источник
Поскольку вопрос больше связан с экспортом, чем с установкой переменной среды, а альтернативный способ sudo vim /etc/hostsздесь не актуален, это должен быть принятый ответ.
BcK