Eu sei que posso definir a variável EDITOR e editar meu crontab com o emacs, mas isso requer iniciar o processo a partir de um shell com
$ crontab -e
Minha pergunta é como posso modificar diretamente meu crontab se já estiver dentro do emacs? Eu tentei iniciar o eshell e executar o crontab -e a partir daí, mas o terminal reclama:
$ crontab -e
emacs: Terminal type "dumb" is not powerful enough to run Emacs.
It lacks the ability to position the cursor.
If that is not the actual type of terminal you have,
use the Bourne shell command `TERM=... export TERM' (C-shell:
`setenv TERM ...') to specify the correct type. It may be necessary
to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.
/usr/bin/crontab: no changes made to crontab
Se o uso do crontab no eshell funcionasse, seria um passo na direção certa, mas ainda não é exatamente o que eu estava esperando. As tentativas de executar o crontab -e de um buffer de termo Mx no emacs também falham (pelo menos no OpenBSD 5.6 com o emacs 24.3.1). No caso ideal, haveria um modo crontab que me permitisse
Mx crontab
que aciona um modo principal e me permite fazer as coisas usuais que faço na linha de comando com o crontab e vincular tudo às chaves. Achei que haveria um modo ou algo assim, mas não tive muita sorte em localizar um.
crontab-mode
no MELPA, você experimentou? (Eu não fiz, então não sei se funciona ou se faz o que você deseja).M-x term
para lançar um terminal não tão burro?Respostas:
Você pode tentar usar o
with-editor
pacote:ele rodará o crontab em uma sub-camada, usando o Emacs atual como editor.
fonte