Emacs下日程管理GTD

来源:互联网 发布:数据库序列如何创建 编辑:程序博客网 时间:2024/05/01 10:59

Emacs下日程管理GTD


GTD(Geting Things Done)是美国商业顾问David Allen提倡的一种提高生产效率的系统,它可以帮助你缓解压力,是心情平静,专心地工作和学习。使用GTD,将你现在所想到的,计划到的完全用目录表格的形式记录下来,并通过一系列系统的方法整理,回顾做成的内容。


Table of Contents

  • 1 前言
  • 2 remember.el
  • 3 GTD流程
    • 3.1 Tasks
    • 3.2 Books
    • 3.3 Calender
    • 3.4 Project
  • 4 GTD 收集项目模板
  • 5 设置TODO关键字
  • 6 转接
  • 7 GTD 应用
  • 8 GTD 快捷键
    • 8.1 快速启动remember
    • 8.2 快速查看inbox.org
    • 8.3 快速启动agenda
  • 9 打开emacs自动显示日程表


1 前言


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


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

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


将记录下的事情分类

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


确定下一步该做什么

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


归档已完成的想法

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


每周回顾

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


2 remember.el


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


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


3 GTD流程


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


3.1 Tasks

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


3.2 Books

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


3.3 Calender

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


3.4 Project

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


4 GTD 收集项目模板


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


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


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


5 设置TODO关键字


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


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


6 转接


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


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


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


7 GTD 应用


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


8 GTD 快捷键


8.1 快速启动remember


Ctrl-c-c快速启动remember

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


8.2 快速查看inbox.org


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

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


8.3 快速启动agenda


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

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


9 打开emacs自动显示日程表


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

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




Date: 2012-08-08 三

Author: lishuo

Org version 7.9.1 with Emacs version 23

Validate XHTML 1.0
原创粉丝点击