16.04: настройки редактора crontab -e / подсветка синтаксиса Python в vim

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? Или установить его в другом редакторе?

-1
задан 20 November 2017 в 08:03

3 ответа

Когда среда проверяется с помощью команды env

env

, EDITOR по умолчанию не указывается.

Не желая терять время, пытаясь выяснить, какую версию vi он пытается использовать, кажется, лучше просто решить проблему.

Таким образом, решение простое.

export EDITOR=gedit

Кроме того, он может быть установлен в ваш любимый редактор, например:

export EDITOR=nano

или

export EDITOR=leafpad

Как только РЕДАКТОР указан в среде, crontab -e использует его.

Коротко и сладко.


Чтобы это изменение вступило в силу при входе в систему, эту строку можно добавить в /home/username/.bashrc.

0
ответ дан 20 November 2017 в 08:03

в Ubuntu 18.04. Щелкните правой кнопкой мыши по файлу, выберите properties, выберите третью вкладку open with, добавьте новый и установите его по умолчанию.

0
ответ дан 20 November 2017 в 08:03

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.

2
ответ дан 20 November 2017 в 08:03

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

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