如何定期在emacs中运行一个任务?

问题描述:

有没有办法在长期运行的emacs中定期运行elisp函数,类似于cron,但是在emacs进程中?如何定期在emacs中运行一个任务?

例如,我想“自动运行(recentf保存列表),每半小时”,因为它否则只能退出,其吸emacs的时候偶尔会崩溃运行。 (还有其他的例子,所以寻找一个通用的解决方案,而不是最近的一个)。

结账run-with-timer

(run-with-timer 0 (* 30 60) 'recentf-save-list) 
+0

该链接是空闲计时器页面(当然也有用)。 – phils 2010-10-01 22:54:37

+0

正是我期待的 - 谢谢! – 2010-10-03 12:50:40

+2

另见:http://www.emacswiki.org/emacs/IdleTimers#toc2 – lindes 2010-11-30 06:17:08

您可能还会发现midnight mode有用。人们可以任意定义'午夜',然后根据需要添加钩子。