16.04: configurações do editor crontab -e / destaque da sintaxe Python no vim

-1

crontab -e usa como padrão vi para edição.

Isso geralmente não é um problema. vi é um excelente editor e fácil de aprender.

Recentemente, comecei a usar vim , que é instalado por

sudo apt-get update
sudo apt-get install vim

e para mostrar números de linha e padronizar números de espaços adequados quando o Tab é pressionado, além de destacar a sintaxe para o desenvolvimento do Python,

o conteúdo do meu arquivo /home/username/.vimrc é o seguinte:

syntax enable
set number
set ts=4
set autoindent
set expandtab
set shiftwidth=4
set cursorline
set showmatch
let python_highlight_all = 1

Isso funciona muito bem.

No entanto, quando uso crontab -e , as seguintes mensagens de erro são exibidas:

Sorry, the command is not available in this version: syntax enable

Sorry, the command is not available in this version: let python_highlight_all = 1

Press ENTER or type command to continue

Em seguida, pressionar Enter permite continuar em vi para edição da tabela cron.

Perguntas: Qual versão do vi ele está tentando usar? Existe uma maneira de configurá-lo para o vim normal? Ou para configurá-lo para outro editor?

    
por SDsolar 17.11.2017 / 21:10

2 respostas

0

Quando o ambiente é verificado com o comando env

env

não há EDITOR padrão especificado.

Não querendo perder tempo tentando descobrir qual versão do vi está tentando usar, parece melhor simplesmente resolver o problema.

Assim, a solução é simples.

export EDITOR=gedit

Como alternativa, pode ser definido para o seu editor favorito como este:

export EDITOR=nano

ou

export EDITOR=leafpad

Quando o EDITOR é especificado no ambiente, crontab -e o usa.

Curto e doce.

Para fazer essa alteração entrar em vigor no login, essa linha pode ser anexada a /home/username/.bashrc .

    
por SDsolar 17.11.2017 / 21:17
2

crontab -e defaults to using vi for editing.

Não realmente. Por 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 automatically. If neither of the environment variables is defined, then the default editor /usr/bin/editor is used.

/usr/bin/editor é um link simbólico gerenciado pelo sistema de alternativas: ele aponta para /etc/alternatives/editor , que é um link simbólico para o editor atual. Ele realmente não tem um valor "padrão", já que seu valor depende dos editores que estão realmente instalados no sistema. Você pode obter seu valor atual com ls -l /etc/alternatives/editor e modificá-lo com sudo update-alternatives --config editor .

    
por fkraiem 20.11.2017 / 08:48