在 Emacs 中编辑 crontab
文章目录
一般来说,编辑 crontab 时可以用 crontab -e ,它会读取 EDITOR 环境变量来决定需要打开的编辑器,比如:
1EDITOR=emacsclient crontab -e这时会用 emacsclient 来编辑 crontab 内容,只是需要注意一点,编辑完成后,需要用 C-x #(server-edit) 来退出。
如果使用 with-editor 的话,可以进一步完善编辑 crontab 的体验。
首先定义下面的函数:
1(defun my/edit-crontab ()
2 (interactive)
3 (let ((buf (get-buffer-create "*crontab*")))
4 (with-editor-async-shell-command "crontab -e"
5 buf buf)))同时在 crontab 文件头添加以下内容,让其打开时,默认开启 with-editor-mode 。
1# -*- mode: with-editor -*-这样就能够和使用 magit 编辑 commit message 一样来编辑 crontab:
C-c C-c确认C-c C-k取消
还有一点比较烦, async-shell-command 会默认打开一个 buffer,但是这个 buffer 又没什么用,可以用下面的方法将其隐藏掉:
1(setq display-buffer-alist
2 '(("\\*crontab\\*" . (display-buffer-no-window . nil))))最后,可以添加 crontab 到 recentf-exclude 变量中,这样编辑 crontab 的临时文件就不会进入 recentf 列表了。
收听方式

反馈
- 对节目有想法或发现内容错误?欢迎来信交流️