Emacs GTD

5141阅读 0评论2012-08-18 无赖皮肤
分类:LINUX


** 前言

如果你想要高效地使用GTD系统,请谨记下列方法,它可以帮助你快速把握精髓。

系统的收集你所关心的和必须要做的所有事情。

这个系统包括所有的东西,包括笔记本,邮件或者身边一切可以记录的东西。总
之,在这个阶段,你需要将你脑袋中所有的想法全部倒出来。

将记录下的事情分类

这一步通常是每天必须执行的。它的作用就是将前期混乱的想法整理归档,以便
后期处理,在这一步,你可以将无用的不清晰的想法去除。

确定下一步该做什么

为了更加容易的执行任务,用明确的动词定义目的和行为。它的作用就是规划好
下一步该做什么,防止目的不清晰。

归档已完成的想法

这样有助于清理当前文件的内容,专注与要完成的事情。

每周回顾

定期回顾做过的事情,这有助于帮你理解和积累。


** remember.el

这个插件是为了快速记录而设计的,GTD的大部分基础工作就是靠它实现的。在emacs23.3以后,它就自带了remember mode,我们要做的就是将它绑定到方便的快捷键上,以便于日常使用。我这里是将C-c-c绑定到remember上,下面是绑定代码。

点击(此处)折叠或打开

  1. (global-set-key "\C-cc" 'remember)

** GTD流程

我这里为了删繁就简,没有想某些介绍上面使用了很多文件来装各种想法,而仅仅使用三个文件。一个inbox.org装载所有的Tasks Books Calender Project,另外一个finished.org装载完成的任务,最后一个canceled.org装载取消的任务。下面逐个介绍每个模板对应的功能。

*** Tasks

Tasks主要就是平常要完成的小事,比如写完某篇文章,帮助某人重装系统等等可在很短的时间内完成的小事。

*** Books

Books就是平时阅读书籍的一个日程安排,比如具体读到第几章,是否完成阅读任务等等。

*** Calender

Calender是平时一些比较重大的节日,比如老婆的生日,朋友的聚会等等可能需要一段时间才能完成的事情。

*** Project

Project是平时一些项目的进程和安排。


** GTD 收集项目模板

根据上面的介绍,我专门设计了一个模板来收集相应的事件。


点击(此处)折叠或打开

  1. ;; GTD 收集项目的模板设置
  2. (org-remember-insinuate)
  3. (setq org-directory "~/GTD/")
  4. (setq org-remember-templates '(
  5. ("Task" ?t "** TODO %? %t\n %i\n %a" "~/GTD/inbox.org" "Tasks")
  6. ("Book" ?c "** %? %t\n %i\n %a" "~/GTD/inbox.org" "Book")
  7. ("Calendar" ?c "** %? %t\n %i\n %a" "~/GTD/inbox.org" "Calender")
  8. ("Project" ?p "** %? %t\n %i\n %a" "~/GTD/inbox.org" "Project")))
  9. (setq org-default-notes-file (concat org-directory "/inbox.org"))

当你键入C-c-c的时候,它会提示选择那个模板,然后在对应的模板输入相应的内容,接着C-c C-c就会保存到inbox.org中。


** 设置TODO关键字

我只需要三个关键字,一个TODO,一个CANCELED和一个DONE。这样可以简化整个流程。

点击(此处)折叠或打开

  1. ;;设置TODO关键字
  2. (setq org-todo-keywords
  3. (list "TODO(t)" "|" "CANCELED(c)" "DONE(d)"))

** 转接

在同文件之间转接很简单,仅仅需要C-c C-w即可。而在不同文件之间转接,则需要下面的配置。

我的配置实现了在三个文件之间互相转接,非常简单,只需要键入C-c C-w选择相应标题即可。

点击(此处)折叠或打开

  1. ;; 将项目转接在各文件之间,方便清理和回顾。
  2. (custom-set-variables
  3. '(org-refile-targets
  4. (quote
  5. (("inbox.org" :level . 1)("canceled.org" :level . 1) ("finished.org":level . 1))
  6. )))


** GTD 应用

每天晚上,把明天要做的事情全部罗列到inbox.org中,做好分类。第二天的时候,当你有任何想法的时候,可以快速键入C-c-c记录下你的ideas。然后将完成的放入finished.org中,取消的内容放入到canceled.org中。


** GTD 快捷键

*** 快速启动remember

Ctrl-c-c快速启动remember

点击(此处)折叠或打开

  1. (global-set-key "\C-cc" 'remember )

*** 快速查看inbox.org

很多时候,你需要查看你所要做的事情,因此使用快捷键快速访问该文件非常方
便。我这里使用C-c-z来快速查看inbox。


点击(此处)折叠或打开

  1. ;; 快速打开inbox
  2. (defun inbox() (interactive) (find-file "~/GTD/inbox.org"))
  3. (global-set-key "\C-cz" 'inbox)

*** 快速启动agenda

下面我定义了快速查看日程表的快捷键。

点击(此处)折叠或打开

  1. ;; 快速启动 agenda-view
  2. (define-key global-map "\C-ca" 'org-agenda-list)
  3. (define-key global-map "\C-ct" 'org-todo-list)
  4. (define-key global-map "\C-cm" 'org-tags-view)
  5. ;;显示他们的内容
  6. (setq org-agenda-files
  7. (list "~/GTD/inbox.org"
  8. "~/GTD/inbox.org"
  9. "~/GTD/finished.org"))


** 打开emacs自动显示日程表

下面的代码可以在新开启的emacs中显示agenda日程表,非常方便。

点击(此处)折叠或打开

  1. ;;开机自动显示日程表
  2. (org-agenda-list t)
  3. ;;关闭其它窗口
  4. (delete-other-windows)

上一篇:函数指针解析(C语言)
下一篇:快速启动Emacs