Как я могу изменить редактор по умолчанию команды 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.