Como posso definir o sublime como editor de texto padrão para o crontab?

2

Como posso definir o sublime como editor de texto padrão para o crontab?

Eu escrevo trabalhos cron regularmente, então eu gostaria de poder editar o crontab -e usando sublime ao invés de Nano.

Eu comecei a criar um arquivo .desktop para o Sublime.

Eu também tentei usar o editor de seleção do Terminal, mas ele não exibe o Sublime como uma opção.

Ubuntu 15.10

    
por Vesa 01.11.2016 / 06:55

3 respostas

3

A seqüência para escolher o editor por cron está seguindo, o primeiro ganha:

  • Variável de ambiente VISUAL
  • Variável de ambiente EDITOR
  • /usr/bin/editor

Portanto, defina o caminho VISUAL como sublime, por exemplo:

export VISUAL=/usr/bin/subl

Adicione isso ao seu ~/.bashrc para atribuição permanente.

Para apenas uma execução, envie o ambiente VISUAL para crontab :

VISUAL=/usr/bin/subl crontab -e
    
por heemayl 01.11.2016 / 07:00
0

Isso provavelmente se deve à falta do -w / --wait flag que faz com que o comando ( subl ) saia apenas após você fechar o arquivo (o arquivo cron temporário neste caso) . Sem ele, o "cron" pensa que você terminou de editar imediatamente assim que o comando sai e todas as mudanças acabam no arquivo temporário deixado por nada.

Então, uma solução é:

Crie um novo arquivo sublime-wait :

#!/bin/sh
subl -w $*

Adicione ao seu ~/.bashrc ou ~/.profile :

export EDITOR='/path/to/sublime-wait'
    
por Thomas Jensen 29.01.2018 / 15:22
0

Definir o editor padrão em uma das formas mencionadas acima funciona, por exemplo editando o arquivo .bashrc, exportando as variáveis EDITOR e VISUAL. Mas - pelo menos no meu ambiente - o crontab -e não espera que o editor feche o arquivo atualizado e finaliza dizendo "Nenhuma modificação feita". Adicionando

export EDITOR="xed -w"
export VISUAL="xed -w"

resolve o problema.

    
por Achim 27.05.2018 / 09:59