Come modificare crontab direttamente all'interno di emacs quando ho già emacs aperto?


13

So che posso impostare la variabile EDITOR e modificare il mio crontab con emacs ma ciò richiede l'avvio del processo da una shell con

$ crontab -e

La mia domanda è: come posso modificare direttamente il mio crontab se sono già all'interno di emacs? Ho provato a eseguire avviando eshell e eseguendo crontab -e da lì, ma il terminale si lamenta:

$ 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 usare crontab in eshell funzionasse, sarebbe un passo nella giusta direzione, ma non è esattamente quello che speravo. Anche i tentativi di eseguire crontab -e all'interno di un buffer di termini Mx in emacs falliscono (almeno su OpenBSD 5.6 con emacs 24.3.1). Nel caso ideale, ci sarebbe una modalità crontab che mi ha permesso di farlo

Mx crontab

che attiva una modalità principale e mi ha permesso di fare le solite cose che faccio alla riga di comando con crontab e avere tutto legato alle chiavi. Ho pensato che ci sarebbe stata una modalità o qualcosa per questo, ma non ho avuto molta fortuna nel trovarne una.


C'è un crontab-modein MELPA, l'hai provato? (Non l'ho fatto, quindi non so se funziona o se fa quello che vuoi).
wvxvw,

Che ne dici di usare M-x termper lanciare un terminale non così stupido?
Nsukami _

@wvxvw: Sì, ho fatto prima un elenco di pacchetti Mx e ho trovato quella modalità ma la descrizione indica che questa è solo una modalità di evidenziazione che ha lo scopo di aiutare il ragazzo che l'ha fatto funzionare con le sue cose personali che tiene sotto controllo.
unclejamil,

@Nsukami_: Questo può funzionare ma alla fine non è proprio quello che sto cercando. Mi tiene in emacs, quindi è sicuramente un passo nella giusta direzione e meglio che lasciare emacs ma sembra che una buona modalità per crontab sia in ordine (qualcosa come Mx crontab) che tira il mio crontab e abbia le chiavi legate a cose diverse che di solito faccio con opzioni alla riga di comando con crontab.
unclejamil,

@Nsukami_: ho aggiornato la domanda per chiarire cosa sto cercando in base alla nostra discussione qui nei commenti. A proposito, grazie per il suggerimento.
unclejamil,

Risposte:


20

Potresti provare a usare il with-editorpacchetto:

(defun crontab-e ()
    "Run `crontab -e' in a emacs buffer."
    (interactive)
    (with-editor-async-shell-command "crontab -e"))

eseguirà crontab in una subshell, usando l'attuale Emacs come editor.


Ha! Molto dolce. Ho appena tirato giù il pacchetto con-editor e l'ho provato. Funziona come un fascino! Bella chiamata. Aspetterò un giorno per vedere se qualcuno ha avviato una modalità full on per crontab e se nessuno torna con qualcosa, lo segnerò come risposta.
unclejamil,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.