Ich weiß, dass ich die EDITOR-Variable setzen und meine crontab mit emacs bearbeiten kann, aber dazu muss der Prozess von einer Shell mit gestartet werden
$ crontab -e
Meine Frage ist, wie ich meine Crontab direkt ändern kann, wenn ich mich bereits in Emacs befinde. Ich habe versucht, eshell zu starten und crontab -e von dort aus auszuführen, aber das Terminal beklagt sich:
$ 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
Wenn die Verwendung von Crontab in Eshell funktioniert, wäre dies ein Schritt in die richtige Richtung, aber es ist immer noch nicht genau das, was ich mir erhofft hatte. Versuche, crontab -e aus einem Mx-Term-Puffer in Emacs auszuführen, schlagen ebenfalls fehl (zumindest unter OpenBSD 5.6 mit Emacs 24.3.1). Im Idealfall würde es einen Crontab-Modus geben, der es mir erlaubt
Mx Crontab
das löst einen Hauptmodus aus und erlaubt mir, die üblichen Sachen zu machen, die ich an der Kommandozeile mit crontab mache, und alles an Schlüssel gebunden zu haben. Ich war mir sicher, dass es dafür einen Modus oder etwas geben würde, aber ich hatte nicht viel Glück, einen zu finden.
crontab-mode
in MELPA, hast du es versucht? (Ich habe nicht, also weiß ich nicht, ob es funktioniert oder ob es tut, was Sie wollen).M-x term
zum Starten eines nicht so dummen Terminals?Antworten:
Sie könnten versuchen, das
with-editor
Paket zu verwenden:crontab wird in einer Subshell ausgeführt, wobei der aktuelle Emacs als Editor verwendet wird.
quelle