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

Я пытаюсь изменить редактор по умолчанию с nano к vim.

Я выполнил следующие команды:

sudo update-alternatives --config editor

и

update-alternatives --config 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

Я перезапустил свой сеанс ssh и перезапустил sshd, но crontab -e по-прежнему открывается в nano

Что еще мне нужно сделать?

Просто просто беги select-editor, это позволит вам выбрать любой редактор, который вы хотите.

Попробуйте свой сеанс ssh, за которым следует

export EDITOR=vim

или, возможно,

export EDITOR=/usr/bin/vim.basic

Формат настройки переменной РЕДАКТОРА зависит от того, какую оболочку вы используете.

В Ubuntu вы можете установить переменную среды EDITOR при входе в систему, добавив вышеуказанное в ~/.profile

Ваш сеанс SSH прочитает аналогичный файл (если он существует) на удаленном хосте, вызываемом ~/.ssh/environment. Это должно быть специально определено конфигурацией демона ssh. Видеть man sshd_config и искать PermitUserEnvironment для получения более подробной информации.

Мои личные предпочтения...

cd /binmv nano nano_must_dieln -s /usr/bin/vim nano

Если вы хотите выбрать редактор только временно, вы можете выполнить следующие действия

EDITOR=nano crontab -e

Это устанавливает EDITOR переменная среды для команды

Из "man crontab":

   The -e option is used to edit the  current  crontab  using  the  editor   specified  by  the  VISUAL  or EDITOR environment variables.  After you   exit from the editor, the modified crontab will be installed  automati‐   cally.  If  neither  of  the environment variables is defined, then the   default editor /usr/bin/editor is used.

Возможно, у вас есть переменная РЕДАКТОРА enivronment, установленная на nano?

На моем компьютере с Ubuntu 12.04, crontab использует ~/.selected_editor файл, содержащий путь к выбранному редактору. Отредактируйте его:

nano ~/.selected_editor

Я отредактировал его напрямую или использовал select-editor, который представляет собой сценарий для выполнения того же самого. Отредактируйте следующую строку:

SELECTED_EDITOR="/usr/bin/vim.basic" 

Люди IHMO не должны ничего менять в /etc или / bin, чтобы сделать это. Это задача на уровне пользователя, а не общесистемная задача.

У меня были трудности с select-editor и update-alternatives, мое решение состояло в том, чтобы просто отредактировать ссылку:

  1. sudo rm /etc/alternatives/editor
  2. sudo ln -s /usr/bin/vim /etc/alternatives/editor

editor теперь открывается Vim

У меня была та же проблема - crontab -e полагается на select-editor, visudo полагается на конфигурацию "альтернатив"

Мое решение:

запустите обе команды от имени root

# update-alternatives --install /usr/bin/editor editor /usr/bin/sensible-editor 50# select-editor Select an editor.  To change later, run 'select-editor'.  1. /bin/nano        <---- easiest  2. /usr/bin/sensible-editor  3. /usr/bin/vim.basic  4. /usr/bin/vim.tinyChoose 1-4 [1]: 3

Попробовав ответы выше, единственное, что сработало для меня (в Debian strech), - это удалить ~/.selected_editor запустив:

rm ~/.selected_editor

А затем выберите новый редактор при следующем запуске crontab -e.

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

ВИЗУАЛЬНЫЙ будет переопределять РЕДАКТОР

Из документации:

Параметр -e используется для редактирования текущей crontab с помощью редактора, указанного в переменных среды VISUAL или EDITOR.

Например, если вы установите

$ export EDITOR=vim$ export VISUAL=nano

Затем команда crontab -e все равно откроется в nano.

Вы должны установить оба, чтобы быть редактором по выбору, ala vim для меня:

$ export EDITOR=vim$ export VISUAL=vim

Затем команда crontab -e откроется в vim.

Я не думаю, что какой-либо из этих ответов на самом деле отвечает на вопрос, не так ли?

Вот более подробный ответ: cron - 16.04: crontab -e editor settings / Python syntax highlighting in vim - Ask Ubuntu