crontab -e
по умолчанию использует vi
для редактирования.
Обычно это не проблема. vi
- отличный редактор, и его легко освоить.
Недавно я начал использовать vim
, который установлен
sudo apt-get update
sudo apt-get install vim
и для того, чтобы он показывал номера строк и по умолчанию соответствовал номерам пробелов при нажатии Tab, плюс подсветка синтаксиса для разработки на Python,
содержимое моего файла /home/username/.vimrc
выглядит так:
syntax enable
set number
set ts=4
set autoindent
set expandtab
set shiftwidth=4
set cursorline
set showmatch
let python_highlight_all = 1
Это прекрасно работает.
Однако, когда я использую crontab -e
, он выдает следующие сообщения об ошибках:
Извините, команда недоступна в этой версии: синтаксис enable
Извините команда недоступна в этой версии: let python_highlight_all = 1
Нажмите клавишу ВВОД или введите команду для продолжения
Затем нажмите клавишу Enter, чтобы перейти в vi
для редактирования cron стол.
Вопросы: Какую версию vi он пытается использовать? Есть ли способ установить его на нормальный vim? Или установить его в другом редакторе?
Когда среда проверяется с помощью команды env
env
, EDITOR по умолчанию не указывается.
Не желая терять время, пытаясь выяснить, какую версию vi
он пытается использовать, кажется, лучше просто решить проблему.
Таким образом, решение простое.
export EDITOR=gedit
Кроме того, он может быть установлен в ваш любимый редактор, например:
export EDITOR=nano
или
export EDITOR=leafpad
Как только РЕДАКТОР указан в среде, crontab -e
использует его.
Коротко и сладко.
Чтобы это изменение вступило в силу при входе в систему, эту строку можно добавить в /home/username/.bashrc
.
в Ubuntu 18.04. Щелкните правой кнопкой мыши по файлу, выберите properties
, выберите третью вкладку open with
, добавьте новый и установите его по умолчанию.
crontab -e
по умолчанию используетvi
для редактирования.
Не совсем. Согласно man crontab
:
Опция
-e
используется для редактирования текущего crontab с помощью редактора, заданного переменными средыVISUAL
илиEDITOR
. После выхода из редактора измененный crontab будет установлен автоматически. Если ни одна из переменных среды не определена, то используется редактор по умолчанию/usr/bin/editor
.
/usr/bin/editor
- символическая ссылка, управляемая системой альтернатив: она указывает на /etc/alternatives/editor
, которая сама является символической ссылкой на фактический редактор. На самом деле он не имеет значения «по умолчанию», так как его значение в любое время зависит от редакторов, которые фактически установлены в системе. Вы можете получить его текущее значение с помощью ls -l /etc/alternatives/editor
и изменить его с помощью sudo update-alternatives --config editor
.