使用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秒。
浙公网安备 33010602011771号