emacs提供了一个可以用于管理日程的日历。如果你想在EMACS中使用日历这个功能,那么,可以使用M-x来打开日历的界面,这将打开本月及前后两个月的日历界面,当前的日期将高亮显示。如果想以其他月份为中心,可以使用C-u,M-x calendar,就可以实现。emacs支持使用鼠标实现一定操作,但并不提倡使用这种方式,相对来说,更提倡使用键盘操作。比如,想退出calendar模式,可以使用q。Calendar模式支持各种方式来更改当前日期,比如使用天,月,年等的组合。如果想改变当前月分,可以使用一些与移动有关的命令,下面是一些常见的移动当前日期的命令(这里的“前”是指还没有到来的那一天,“后”是指已经过去的日子)C-f:让当前日期向前一天C-b:让当前日期向后一天C-n:让当前日期向前一周C-p:让当前日期向后一周M-}:让当前日期向前一个月M-{:让当前日期向后一个月C-x ]:让当前日期向前一年C-x [:让当前日期向后一年C-a:移动到当前周的第一天C-e:移动到当前周的最后一天M-a:移动到当前月的第一天M-e:多动到当前月的最后一天M-<:移动到当前年的第一天M->:移动到当前年的最后一天默认情况下,星期天是一周的第一天,如果想使用周一作为一周的第一天,可以设置calendar-week-start-day的值为1.Calendar模式支持移动多种移动到特珠日期的方式。g d 移动到一个特别的日期o 使某个特殊的月分作为中间的月分.移动到当天的日期p d显示某一天在一年中的位置,也显示本年度还有多少天。C-c C-l刷新Calendar窗口Calendar支持生成LATEX代码。t m 按月生成日历t M 按月生成一个美化的日历t d 按当天日期生成一个当天日历t w 1在一页上生成这个周的日历t w 2在两页上生成这个周的日历t w 3生成一个ISO-SYTLE风格的当前周日历t w 4生成一个从周一开始的当前周日历t y 生成当前年的日历EMACS Calendar支持配置节日:h:显示当前的节日x:定义当天为某个节日u:取消当天已被定义的节日e:显示所有这前后共三个月的节日。M-x holiday:在另外的窗口的显示这前后三个月的节日。另外,还有一些特殊的,有意思的命令:S:显示 当天的日出日落时间如果想自定义这些日出日落时间,可以使用下面的方法:(setq calendar-latitude 40.1)(setq calendar-longitude -88.2)(setq calendar-location-name "Urbana, IL")设置时区可以使用下面的方法:(setq calendar-time-zone -360)(setq calendar-standard-time-zone-name "CST")(setq calendar-daylight-time-zone-name "CDT")显示农历可以使用p-C,使用农历移动日期可以使用g C,当然也可以显示其他的地区的本地日历,这里就不列举了。当你创建了一个'~/diary'文件,你就可以使用calendar去查看里面的内容。你可以查看当天的事件,相关命令如下 :d:显示被选中的日期的所有事件s:显示所有事件,包括过期的,未到期的等等创建一个事件的样例:02/11/1989 Bill B. visits Princeton today 2pm Cognitive Studies Committee meeting 2:30-5:30 Liz at Lawrenceville 4:00pm Dentist appt 7:30pm Dinner at George's 8:00-10:00pm concert创建事件的命令:i d为当天日期添加一个事件i w为当天周创建一个周事件i m为当前月创建一个月事件i y为当前年创建一个年事件i a为当前日期创建一个周年纪念日i c创建一个循环的事件
(出处:http://www.sheup.com)