使用ORG-MODE总结

使用ORG-MODE总结

使用ORG-MODE总结

1 summary

经过几天的使用,对ORG-MODE有了一些粗浅的认识。再次与大家分享.

1.1 起源

接触emacs开始都是为了用C/C++学习编程,一顿折腾,总算配置OK。麻烦却要从 记录笔记开始说起,开始的时候我是使用evernote网页版,在家里使用nixnote记录 笔记。但是却有不尽人意的地方。这下想起来google大神,接下来,顿时被org-mode 所吸引,又开始了漫漫的配置道路。

1.2 配置

总的配置如下:

(add-hook 'org-mode-hook
          (lambda ()
            (setq truncate-lines nil)
            (global-set-key "\C-cl" 'org-store-link)
            (global-set-key "\C-ca" 'org-agenda)
            (global-set-key "\C-cb" 'org-iswitchb)

;;增加org-agenda的一些命令,这里可以按指定标签或者任何你能想到的条件来查询
            ;; (setq org-agenda-custom-commands
            ;;    '(("w" todo "WAITING")
            ;;      ("u" tags "+boss-urgent")
            ;;      ("v" tags-todo "+boss-urgent")))


            (setq org-directory "~/GTD_PKM")
            (setq org-default-notes-file 
                  (concat org-directory "/pkm.org"))
            (define-key global-map "\C-cc" 'org-capture)
;;定义了两个模板,抓取笔记的时候,配置放入哪里,怎么放
            (setq org-capture-templates
                  '(("g" "Todo" entry (file+headline "~/GTD_PKM/gtd.org" "Tasks")
                     "* TODO %?\n %i\n %a")
                    ("p" "pkm" entry (file+datetree "~/GTD_PKM/pkm.org")
                     "* %?\nEntered on %U\n %i\n %a")))
;;设置到底使用那些文件来进行日程安排,可以按照自己需要建立
            (setq org-agenda-files
                  (list "~/GTD_PKM/self.org"
                        "~/GTD_PKM/work.org"
                        "~/GTD_PKM/postgraduate.org"
                        "~/GTD_PKM/gtd.org"))
;;配置发布,我的想法是一股脑把所有东西都放一个文件夹中
            (setq org-publish-project-alist
                  '(("note-org"
                     :base-directory "~/GTD_PKM"
                     :publishing-directory "~/GTD_PKM/publish"
                     :base-extension "org"
                     :recursive t
                     :publishing-function org-publish-org-to-html
                     :auto-index nil
                     :index-filename "index.org"
                     :index-title "index"
                     :link-home "index.html"
                     :section-numbers nil
                     :style "<link rel=\"stylesheet\"
                              href=\"./style/emacs.css\"
                              type=\"text/css\"/>")
                    ("note-static"
                     :base-directory "~/GTD_PKM"
                     :publishing-directory "~/GTD_PKM/publish"
                     :recursive t
                     :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|swf\\|zip\\|gz\\|txt\\|el"
                     :publishing-function org-publish-attachment)
                    ("note"
                     :components ("note-org" "note-static")
                     :author "yichen.knowledge.action@gmail.com"
                     )))
;;方便auto-complete补全
            (setq ac-modes
                  (append ac-modes 
                          '(org-mode objc-mode jde-mode sql-mode
                                     change-log-mode text-mode
                                     makefile-gmake-mode makefile-bsdmake-mo
                                     autoconf-mode makefile-automake-mode)))
            ;;在子TODO都完成后设置父TODO项
            (defun org-summary-todo (n-done n-not-done)
              "Swith entry to DONE when all subentries are done, to TODO otherwise."
              (let (org-log-done org-log-states)   ; turn off logging.
                (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
            ))

这配置过程中,我了解到两个概念–GTD PKM,觉得对平时工作和学习有很大的 意义。我配置org-mode主要就是针对这两个方面。对于各种快捷键就不多说了。

1.2.1 GTD

对于GTD来说,我认为类似与GOOGLE日历一样,可以安陪我们的日程一样的东西。 做到不管做什么事情,有条理,有计划。

  • 首先建立一个专门的文件夹,如我的GTDPKM,来管理所有的日程安排。
  • 然后建立一些文件分门别类的防止自己的安排
  • 接着设置org-agenda-files将这些文件都加入列表
    • 对于标签,属性以及TODO的几种状态,我认为在单独文件里面定义为好
  • 最后就可以通过全局TODO TREE对他们进行观察
  • 当然最方便的还是观察每日,每周甚至每月的日程安排
  • 或者根据自己的标签等属性来搜索需要观察的日程

对于给一个TODO项目打时间戳的时候,不能直接点选时间,只能点选日期, 大家可以直接输入,比如2011-11-20 13:00,即可。 对于最后已经完成的条目,可以进行归档,可以放入当前文档末端或者新建 一个副本来专门放置。

1.2.2 PKM

PKM既是平时资料的搜集归总,也是消化吸收的过程,甚至包括与大家分享的过程。 ORG-MODE主要是如何抓取笔记和发布的过程,在我自己的配置过程中,为了方便 将GTD和PKM的文件都放一起了,因为可能自己的笔记中也会加入一些TODO项目,方便 一起管理。

  • 抓捕
    在抓捕的时候如上面定义好模板,即可方便的放入自己制定的地方
  • 发布
    发布的过程可以参考上面的设置,最后放入单独文件夹,方便使用版本管理 软件进行集中管理。

1.3 感想

刚接触ORG-MODE不久,但顿时被其吸引,深感EMACS的博大精深。但是文章写 的不好,只是简单总结,也未配有插图,希望能给刚接触的朋友带来一点点灵感。 最后发点牢骚,接触emacs也好多年了,但还是一只菜鸟。有时候被他的配置 搞的很无力。到底该不该搞下去呢,有一种被工具奴役的感觉,又很无语的每天 都在折腾。现在时间:2012年9月26日21时56分39秒。

Date: 2012-09-26

Author: david

Org version 7.8.11 with Emacs version 24

Validate XHTML 1.0

posted on 2011-11-30 23:40  易尘  阅读(1387)  评论(2)    收藏  举报