【发布时间】:2011-04-19 23:30:49
【问题描述】:
有没有办法在长时间运行的 emacs 中定期运行 elisp 函数,类似于 cron,但在 emacs 进程中?
例如,我想“每半小时自动运行 (recentf-save-list)”,否则它只会在退出时运行,这在 emacs 偶尔崩溃时很糟糕。 (还有其他例子,所以寻找一个通用的解决方案,而不是一个特别针对最近的解决方案)。
【问题讨论】:
有没有办法在长时间运行的 emacs 中定期运行 elisp 函数,类似于 cron,但在 emacs 进程中?
例如,我想“每半小时自动运行 (recentf-save-list)”,否则它只会在退出时运行,这在 emacs 偶尔崩溃时很糟糕。 (还有其他例子,所以寻找一个通用的解决方案,而不是一个特别针对最近的解决方案)。
【问题讨论】:
(run-with-timer 0 (* 30 60) 'recentf-save-list)
【讨论】:
run-with-timer 的文档接受以秒为单位的数字,所以(* 30 60) 只是表示 30 分钟的一种方式。 (* 30 60) 是 30 和 60 相乘的 lisp 方式。
您可能还会发现midnight mode 很有用。可以任意定义“午夜”,然后根据需要添加挂钩。
【讨论】: