配置Emacs,用M-x journal来写日志
文章目录
尝试过很多种方法来记工作日志,有用word的,有用网上服务的,有用blog的,都不是太理想。这一切形式都过于复杂了!我所需要的只是自动插入时间、快速地打开日志文本、三言两语的讲一讲今天我干了什么。
今天看了http://www.ftrain.com/util_emacs_hints.html这个文章,觉得这个方法很不错,于是就如法炮制了一通。实现起来非常简单,分两步走就行了:
- 在.emacs里写一个自动插入时间戳的函数:
(defun insert-time ()
(interactive)
(insert (format-time-string “%Y-%m-%d-%R”)))
这样,当你使用M-x insert-time时,就自动会在当前的buffer里插入一个类似于“2001-03-19-02:10”的时间戳。
当然,你可以用其他的时间样式来代替”%Y-%m-%d-%R“,例如
(defun insert-ISO ()
(interactive)
(insert (format-time-string “%Y%m%d”)))
会插入一个ISO格式的YYYYMMDD的时间,类似于“20010319”.
当然,如果你喜欢,你可以写一个类似于
(defun insert-date-verbose ()
(interactive)
(insert (format-time-string “It is now second %S of minute %M of hour %H (%l %p) on day %d of %B in year %Y in time zone %Z. It is %A, and day %j, in week %U, of %Y. “)))
的东西,用M-x insert-date-verbose来插入:It is now second 41 of minute 44 of hour 02 ( 2 AM) on day 19 of March in year 2001 in time zone EST. It is Monday, and day 078, in week 11, of 2001.
嗯,又长又臭。
- 在.emacs中定义journal函数
(defun journal ()
(interactive)
(find-file “~/journal/journal.txt”)
(end-of-buffer)
(insert “\n\n”)
(insert “*”)
(insert-time)
(insert “\n\n”)
)
这样,当你输入命令M-x journal后,自动打开**~/journal/journal.txt**这个文件,并且跳到文件的最末尾,自动插入当前的时间戳,以便你输入日志。
如果你是在命令行下,直接用emacs -f journal这个命令,也可以在启动Emacs的同时,自动启动journal。使用时的效果如图所示:
当然,这只是初步的一个框架,还可以在里面继续添加一些类似于标签、TODO、分类、自动插入所在地和天气情况等功能。
文章作者 cookwhy
上次更新 2008-09-24