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

106

Я пытаюсь изменить редактор по умолчанию от 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

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

    
задан austinbv 29.07.2011 в 18:15
источник

8 ответов

98

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

export EDITOR=vim

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

export EDITOR=/usr/bin/vim.basic

Формат настройки переменной EDITOR зависит от используемой оболочки.

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

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

    
ответ дан fossfreedom 29.07.2011 в 18:29
источник
169

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

    
ответ дан Mostafa Shahverdy 06.03.2013 в 14:19
23

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

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano
    
ответ дан Dave 07.01.2014 в 23:39
13

От "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 EDITOR, установленная на nano?

    
ответ дан aureianimus 29.07.2011 в 18:28
9

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

nano ~/.selected_editor

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

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

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

    
ответ дан NormanD 05.01.2016 в 02:37
8

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

EDITOR=nano crontab -e

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

    
ответ дан Luke Madhanga 08.02.2017 в 11:07
2

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

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

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

    
ответ дан Dennis Bellinger 16.05.2014 в 15:31
2

У меня была та же проблема: 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.tiny

Choose 1-4 [1]: 3
    
ответ дан julian 12.07.2017 в 14:43