editing – ¿Cómo editar crontab directamente dentro de emacs cuando ya tengo emacs abierto?

Pregunta:

Sé que puedo configurar la variable EDITOR y editar mi crontab con emacs, pero eso requiere iniciar el proceso desde un shell con

$ crontab -e

Mi pregunta es ¿cómo puedo modificar directamente mi crontab si ya estoy dentro de emacs? Intenté ejecutar eshell y ejecutar crontab -e desde allí, pero el terminal se queja:

$ 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

Si el uso de crontab en eshell funcionó, sería un paso en la dirección correcta, pero aún no es exactamente lo que esperaba. Los intentos de ejecutar crontab -e desde un búfer de términos Mx en emacs también fallan (al menos en OpenBSD 5.6 con emacs 24.3.1). En el caso ideal, habría un modo crontab que me permitiera

Mx crontab

que activa un modo principal y me permitió hacer las cosas habituales que hago en la línea de comandos con crontab y tener todo vinculado a las teclas. Pensé con certeza que habría un modo o algo para esto, pero no he tenido mucha suerte para localizar uno.

Respuesta:

Podría intentar usar el paquete with-editor :

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

ejecutará crontab en un subshell, usando el Emacs actual como editor.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım