Измените редактора по умолчанию когда sudo visudo

При выполнении sudo visudo, редактор по умолчанию nano.
Я хочу изменить его на vi или vim.

Я уже сделал vim редактор по умолчанию и использование это вместо gedit открыть php, .txt.c и.h файлы, путем размещения a vim.desktop файл в ~/.local/share/applications/ и путем корректного редактирования также ~/.local/share/applications/mimeapps.list или /etc/gnome/defaults.list. Однако, по-видимому, это не относится nano.

Какая-либо подсказка?

23
задан 23 January 2017 в 12:10

3 ответа

Проблема не состоит в том, что это не относится nano, это - это, это не относится к оболочке:

Просто установите VISUAL переменная среды:

export VISUAL=vim

Добавьте это также ~/.bashrc для создания этого постоянным.

Поскольку Вы, кажется, используете энергию в целом, установите обоих VISUAL и EDITOR:

export VISUAL="vim"
export EDITOR="$VISUAL"

или более корректный POSIX

VISUAL="vim" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR

Я принимаю nano было значение одного или обеих переменных.

Для использования редактора в visudo на самом деле мы должны обработать это sudo не сохраняет переменные среды обычно. Опция -E изменения это.

sudo -E visudo

Без -E здесь, Вы закончили бы со значением по умолчанию nano снова


Две переменные, где используемый задолго до файлов называют *.desktop или mime* даже существовал.
(И впечатляющая вещь: они на самом деле использовались в качестве единого стандарта.)
В Ubuntu системное значение по умолчанию, кажется, установлено с sudo update-alternatives --config editor. Это показывает меню для изменения текущей ассоциации.


Раздел See ENVIRONMENT в man visudo:

  VISUAL           Invoked by visudo as the editor to use

  EDITOR           Used by visudo if VISUAL is not set
19
ответ дан 23 November 2019 в 01:28

Как описано в этот ответ , добавьте

Defaults editor=/path/to/editor

к sudoers Примечание файла .

: это будет только работать, если отредактированный файл будет содержать Defaults editor=/path/to/editor строка или будет включать файл, который содержит его.

, Например: visudo -f /etc/sudoers.d/my_sudoers_extension примет значение по умолчанию к Нано.

8
ответ дан 23 November 2019 в 01:28

Если Вы никогда не планируете использовать нано, можно также просто удалить его. Затем система будет использовать vi/vim в качестве значения по умолчанию.

sudo apt-get purge nano

Я знаю, что это не официальный ответ, но это - одна из первых команд для меня после установки Ubuntu.

3
ответ дан 23 November 2019 в 01:28

Другие вопросы по тегам:

Похожие вопросы: