Как сделать Vim текстовым редактором по умолчанию в Linux (Ubuntu)?

Я нашел другой способ установить Vim в качестве текстового редактора по умолчанию в Ubuntu, но я хотел бы знать, почему этот учебник не работает для меня:

https://www.a2hosting.com/kb/developer-corner/linux/setting-the-default-text-editor-in-linux

Вот что я сделал:

Я отредактировал ~/.bashrc, добавив эти 2 строки:

      export EDITOR='vi'
export VISUAL='vi'

Затем я набрал команду:

      source .bashrc

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

Когда я пытаюсь открыть файл /etc/sudoers, он открывается в текстовом редакторе Nano вместо Vim.

2 ответа

Следующая команда изменяет системный редактор по умолчанию:

sudo update-alternatives --config editor

Вам будет предложено указать доступные редакторы, выберите vim из списка.

Ссылка , по которой вы перешли, к сожалению, была сгенерирована ChatGPT, и она демонстрирует некоторые проблемы с контентом, сгенерированным ИИ (и почему мы запрещаем ответы, сгенерированные ИИ, здесь, в Ask Ubuntu), см. сноску. Удивительно и немного разочаровывает то, что авторитетный хостинг-провайдер использует статьи, созданные ChatGPT.

Реальность такова, что исторически существует много способов выбрать редактор, и разные приложения используют разные методы. ChatGPT придумал хорошую «догадку» (как это часто бывает), но этот метод работает только для некоторых приложений, поэтому я бы посчитал его «неправильным» в качестве ответа на статью о том, «Как установить текстовый редактор по умолчанию» . в линуксе» . Правильный ответ будет примерно таким: «Это зависит от приложения» .

Например:

  • crontab -eиспользуетselect-editorчтобы позволить пользователю выбрать предпочитаемый редактор при первом запуске. Однако переменные среды и переопределяют этот выбор, если они присутствуют.

  • Наоборот,gitпо умолчанию используетсяvi, которая может быть переопределена наличием переменной окружения или, которая, в свою очередь, также может быть переопределена параметромcore.editorКонфигурация Git.

  • visudo может использоватьEDITORиVISUALпеременные, но только (если я читаюman visudoправильно) еслиeditorилиenv_editorнастройки настраиваются вsudoers. По умолчанию при отсутствии этих настроек и переменных используется значение по умолчанию . Под Ubuntu с помощьюalternativesсистема,/usr/bin/editorявляется символической ссылкой на/etc/alternatives/editor, который, в свою очередь, является символической ссылкой на предпочитаемый вами редактор (nanoпо умолчанию).

    Как упоминалось в другом существующем ответе , эту символическую ссылку (как и любую другую в альтернативной системе) можно обновить с помощьюupdate-alternativesкоманда.

И эти методы выбора редактора по умолчанию могут даже варьироваться от дистрибутива к дистрибутиву, а некоторые дефолты могут быть скомпилированы в приложения.


Сноска

Конечно, человеку легко совершить подобные ошибки (и я не могу обещать, что моя не безошибочна), но ChatGPT (по крайней мере, в настоящее время), похоже, умеет давать ответы, которые не совсем отвечают . вопрос, который был задан (как в этом случае), или, что еще хуже, полностью составляют настройки, которых даже не существует.

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