Как указать редактор для открытия файла crontab? «export EDITOR =vi» не работает

#linux #vim

#linux #vim

Вопрос:

Я использую Red Hat Enterprise Linux 5, и я хочу настроить редактор vim для редактирования файла crontab.

Если я запускаю echo $EDITOR , я получаю vim. Но когда я запускаю crontab -e , я получаю другой редактор.

Ответ №1:

Очень вероятно, что ваша VISUAL переменная окружения установлена на что-то другое. Попробуйте:

 export VISUAL=vi
  

Комментарии:

1. установка переменной export VISUAL=vim ( setenv VISUAL "vim" для оболочки tcsh) отлично работает!!

2. @lwpro2: Если VISUAL значение не задано, используется EDITOR переменная. Но VISUAL имеет приоритет над EDITOR .

3. Если crontab управляется несколькими лицами с одним пользователем, я рекомендую сделать это в подоболочке, чтобы редактор по умолчанию оставался на месте.

4. Есть идеи, почему файл отличается при открытии в vi вместо nano?

Ответ №2:

Процитирую мужчину:

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

Чаще всего, если вы запускаете crontab -e из X, у вас есть VISUAL set; это то, что используется. Попробуйте это:

VISUAL=vi crontab -e

У меня просто сработало 🙂

Комментарии:

1. Спасибо за объяснение, действительно, я запускаю свой терминал из X.

2. Лучший вариант, если вы используете crontab -e с sudo 🙂 sudo VISUAL=vi crontab -e

Ответ №3:

Если вышеуказанные методы не работают (поскольку они не работали в моей установке Ubuntu 13.04), попробуйте:

Существует несколько альтернативных способов:

1) Запустите select-editor

 select-editor
  

2) Отредактируйте файл вручную: ~/.selected_editor укажите предпочитаемый редактор. С помощью этой опции вы можете указать параметры редактора.

 # Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"
  

3) Вы можете указать «на лету» в командной строке с помощью:

 env VISUAL="emacs -nw" crontab -e
  

Комментарии:

1. Я по ошибке установил редактор по умолчанию на nano при первом открытии crontab. Затем мне пришлось использовать sudo select-editor , чтобы заставить его работать. Совет, если только select-editor не работает

2. Вы не должны использовать «sudo» для вашей личной конфигурации. Это может привести к сбоям, заставляющим вас оставаться в режиме повышенной производительности для обычного использования компьютера. Sudo (команда с повышенными правами) предназначена для работы с общесистемными функциями за пределами вашего личного кабинета (~ user area).

Ответ №4:

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

 export VISUAL=vim; crontab -e
  

Примечание: Пожалуйста, убедитесь, что редактор VIM установлен на вашем сервере.

Ответ №5:

Я думаю, вам может потребоваться использовать полный путь:

 export EDITOR=/usr/bin/vim
  

Комментарии:

1. Проблема в том, что VISUAL сначала проверяется. Итак, совершенно разумный совет, подобный вашему, хорошо работает для сеанса SSH и таинственным образом завершается сбоем на рабочем столе.

2. Я попытался экспортировать при назначении, как описано, но это не сработало. У меня получилось сначала назначить, а затем экспортировать: EDITOR =/usr/bin/vi; редактор экспорта. Здесь используется SunOS по SSH.

Ответ №6:

export EDITOR=vim у меня сработало

Ответ №7:

У меня это не сработало. Я запускаю crontab с помощью sudo, поэтому я переключился на root, выполнил вышеуказанные предложения, и crontab открылся бы в vim, но все равно не из моей учетной записи пользователя. Наконец я запустился sudo select-editor из учетной записи пользователя, и это сделало свое дело.

Комментарии:

1. Если вам нужно запустить sudo для настройки вашей пользовательской среды, это указывает на проблемы, которые вы должны решить. Вы запустили sudo в своем личном пространстве и потеряли разрешение на файлы, которые должны принадлежать вам. Вы можете проверить свое пространство, выполнив: find ~/ -mount ! -user $(whoami) . Вы можете исправить проблему, выполнив: sudo chown -R $(whoami):$(whoami) ~/ .

2. @L.D.James Вы были правы, спасибо. Как оказалось, это был просто файл .select_editor, который принадлежал root.

Ответ №8:

У меня это сработало :

 EDITOR="/usr/bin/vim"
export EDITOR
  

Добавьте это в ~/.bash_profile или ~/.bashrc, чтобы включить это для текущего пользователя.