EMACS-DOCUMENT

=============>集思广益

在Emacs中查看日出日落的时间

随着白天的时间原来越短, 我很好奇我所在地区的日出日落的时间是什么时候. 过去我一般是用google搜索 “sunrise| sunset <location>”, 不过我还是希望能够找到某个能在本机上运行的软件能够自动查出这个时间点. 而且作为一名Emacs用户,很自然的我希望能够在Emacs中运行这个软件. 经过一番折腾,我发现这项功能其实已经内置于Emacs的diary插件中了.

The finished product

emacs_sunrise.png 太平洋西北区确实很不错,就是白天的时间太短了.

Steps

  1. 如果你没有配置过Org-mode, 你需要在 ~/.emacs.d/init.el 中添加以下内容:

    (setq org-directory "/tmp/org")
    (setq org-agenda-files (file-expand-wildcards org-directory))
    
  2. 然后自定你所在地区的经纬度. 你可以通过Google地图LatLong 来找出所在地区的经纬度:

    (setq calendar-latitude 47.9790)
    (setq calendar-longitude -122.2021)
    (setq calendar-location-name "Everett, WA")
    
  3. 修改第一步中指定的其中一个Org agenda文件, 例如 /tmp/test.org:

    * Calendar
    %%(diary-sunrise-sunset)
    
  4. 保存并重新加载你的初始化文件, 然后执行 M-x org-agenda, 在按下 a 就能看到效果了.

    Tip: 如果你想看整年的日出/日落时间,那么可以执行 M-x org-agenda RET a v y