Як редагувати crontab безпосередньо в emacs, коли у мене вже відкриті emacs?


13

Я знаю, що можу встановити змінну EDITOR і редагувати мій crontab за допомогою emacs, але для цього потрібно запустити процес із оболонки з

$ crontab -e

Моє запитання: як я можу безпосередньо змінити мій crontab, якщо я вже є в emacs? Я спробував запустити eshell і запустити crontab -e звідти, але термінал скаржиться:

$ 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

Якщо використання crontab в eshell спрацювало, це було б кроком у правильному напрямку, але це все ще не зовсім те, на що я сподівався. Спроби виконувати crontab -e з буфера терміна Mx в emacs також провалюються (принаймні, на OpenBSD 5.6 з emacs 24.3.1). В ідеальному випадку, був би режим кріптовалюти, який дозволив мені

Mx crontab

це запускає основний режим і дозволило мені робити звичайні речі, які я роблю в командному рядку crontab, і все це пов'язане з клавішами. Я зрозумів, що буде режим чи щось для цього, але мені не дуже пощастило знайти його.


Є crontab-modeв MELPA, ви пробували? (Я цього не зробив, тому я не знаю, працює він чи робить те, що ви хочете).
wvxvw

А що з використанням M-x termдля запуску не дуже тупого терміналу?
Nsukami _

@wvxvw: Так, я спершу зробив список пакетів Mx і знайшов цей режим, але опис вказує, що це лише режим виділення, який призначений допомогти хлопцеві, який змусив його працювати зі своїми особистими речами, які він тримає під rcs.
unclejamil

@Nsukami_: Це може спрацювати, але насправді це не те, про що я хочу піти. Це тримає мене в emacs, тому це, безумовно, крок у правильному напрямку і краще, ніж залишати emacs, але здається, що гарний режим для crontab є в порядку (щось на зразок Mx crontab), який тягне мій crontab і має ключі, пов'язані з різними речами, які я зазвичай роблю з перемикачами в командному рядку з crontab.
unclejamil

@Nsukami_: Я оновив питання, щоб уточнити, що я шукаю, виходячи з нашої дискусії тут у коментарях. До речі, дякую за пропозицію.
unclejamil

Відповіді:


20

Ви можете спробувати скористатися with-editorпакетом:

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

він буде запускати crontab в нижній частині, використовуючи поточний Emacs як редактор.


Га! Досить солодкий. Просто спустив пакет з редактором і спробував його. Працює як шарм! Гарний дзвінок. Я зачекаю день, щоб побачити, чи хтось викрутив повноцінний режим для crontab, і якщо ніхто не повернеться ні з чим, я позначу це як відповідь.
unclejamil
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.