决策分析系统建设方案:emacs - 使用Org-Mode来GTD

来源:百度文库 编辑:中财网 时间:2024/05/07 15:32:44

使用Org-Mode来GTD

作者:Charles Cave

Using Emacs org-mode for GTD:http://members.optusnet.com.au/~charles57/GTD/orgmode.html

TOPGTD

Getting Things Done(GTD)是美国的商业顾问David Allen提倡的一种提高生产效率的系统。David Allen虽然通过各种演讲,研究会等推广它的GTD系统,但是更出名的还是他的著作《Getting Things Done》吧。企鹅出版社出版了《The Art of Stress-Free Productivity》(尽管去做: 无压工作的艺术)一书。你可以在Amazon买到。

GTD的核心,就是将你一生中需要完成的工作,收集,整理,决策,执行等形成统一的工作流。成功的关键就是,你的头脑中什么也不要放置,所有的都记录到你可以信赖的系统中。这个可信赖的系统就是一张A4纸(或者笔记本),Palm/PocketPC,或者是本文介绍的与Org-mode类似的应用程序。

TOP再见To-Do Lists,NextActions,你好!

ToDo Lists是过时的手法。在你的一生中有许多事情发生,你需要时间和精力来做出决策,这时你就可以利用GTD的方法。比如你和家人,同事的交往中,人际关系的构筑中,打电话,开会,灵感,写信等等活动都包含在内。

为了替代ToDo List, 请考虑以下两个问题:

  • 你希望得到什么结果?
  • 为了达到希望值,你将付出怎样的行动?

要回答这两个问题,需要明确地描绘出成功时的状态,以及为了达到目标需要具体什么样的行动。标出NextAction(接下来的行动)是说能简单地决定接下来做什么,尽量将时间的延误最小化。看这个list的时候时候,不需要每次决策去做什么。

TOP情境(Contexts)

就像NextAction(经常缩写为NA)本身的意思一样,需要考虑行动前后的情境。这里的情境是指在一定的制约和资源下进行活动的场所。比如,「打电话」这种情境,首先要确保电话可以使用。「Office」这种情境,是指在办公室内进行的行动。同样,「Home」指在家里面完成的活动。

对于不同的人,情境表一定是不同的。当你选择怎样的作业组合时,需要一定的实验才能做出决定,很难一次就能完善它。比如我的情境分以下几种:

  • Office(上班时的电话联络也包括在内)
  • Home(家里的电话包括在内)
  • Computer(家里的电脑)
  • DVD Watching(我从图书馆里借了许多DVD)
  • Reading(上班的电车途中)

TOP日程表(Agendas)

在GTD的手法中,像前面小节中介绍的NextAction表一样,其他很多表格被使用。David Allen在和一些人讨论的时候,或者在一些研究会上为了说明行动表的时候,经常会提到「Agendas」一词。Agendas可以作为NextAction表的一种特例。

比如,你和上司会定期地开会,为了准备下一次会议中的议题,你可以制作一个名为「Boss」的列表。如果是你领导,你也会为你的小组里的每一位项目担当者制作一份Agendas表吧。

TOPWaiting For

还有一个叫做「Waiting For」的列表。我们经常在完成某一作业,或者将某一任务委托别人去做的时候,需要等待回应。像这样的信息放入WaitingFor列表,对以后回想起来有很大的帮助。

TOPProjects

Project是指需要2步NextAction作业才能完成的任务。 当你检查你需要完成的任务的时候,你一定是从你希望的结果出发考虑NextAction的。这里并不是说需要你考虑所有应该执行的NextAction,只是开始的工作。

比如,“晚宴”这个Project。有一些NextAction是属于「Phone」这个情境:「给Bill和Hilary打电话」,「给Valerie和Mark电话」等。又比如「Shopping」这个情境,像是「买瓶红酒」这样的行为归入NextAction。

每周检查项目进度的时候,以checklist的形式制作一张项目的表格。这样,你的项目中就做出了各种各样的NextAction,从而确认不同的项目的完成程度。

TOP日历(Calendar)

日历只是在需要记录有特别的日子或者时间信息时使用。日历不是用来提醒完成任务而记录在以前计划好的to-do表的。而是用来记录如约会,会议等固有信息(比如生日)的。

TOP备忘录(Tickler File)

这里记录一些对于将来行为有帮助的项目。像是基于软件的系统一样,这里常常使用43个目录(12个月+31日)的形式。比如,将每个月20日的账单放入「20」这个标签的目录中。得到圣诞卡的人员名单也应当放入「12月」这个标签的目录下。

TOP将来/也许(Someday/Maybe)

你不可能在一天之内做完所有的事情。所以,「Someday/Maybe(某天/也许)」表中记录你想做的,但是现在还没有安排的事情。除了将来要做的,想法,创意什么的也可以在内。在每周浏览,检查的时候,这张表会频繁的更新。这里记录的项目,也许成为现实的Project,或者将现实的Project,NextAction放入以后的某个时候去做。

TOP现在做什么呢?

决定接下来做什么的时候,应该首先考虑你有多少可利用的时间,又有多少精力等客观情况吧。正因为你每周会检查一次你的NextAction表,这可以作为一种手法,来指导你每周的行动方向。在家的时候,你不会被OFFICE这个情境中的项目所干扰,而是专心致志地检查HOME表。

TOPWeekly Review(每周回顾检查)

作为GTD系统过程的核心,所有的Project,NextAction表,WaitingFor项目每周都要被回顾检查。在不同的Project中,用来明确下一步的行动。

TOPMind Sweep(清空大脑)

GTD的目标是将你头脑中的东西全部取出,保存到外部的可信赖的系统中。就是说,为了集中精力去完成任务,最大限地准备你的大脑。清空大脑,是为了使你专心于当前要完成的事,有效地利用大脑的一种方法。

TOPEmacs

Emacs是一种编辑器,具有高度的扩展性,可定制,实时表示等特性。(引用自Emacs的简介)。Emacs历史可以追述到1970年,并且在UNIX系统上有受欢迎。Emacs的核心是Lisp语言的解释器,这是它作为编辑器功能扩张的基础。Org-mode就是这样一个扩展的例子。

Emacs支持Windows,Linux,Mac-OS X以及其他UNIX操作系统。

TOPOrg-mode

利用Org-mode,可以保存笔记,管理项目,实现高速且高效的文本编辑系统。Org-mode基于Emacs的outline-mode,具有强大的功能且对应高亮显示代码。如下图:

Org-mode的核心部分是Outline,分配标签(情境的设定),以分层的构造组织内容,以及按目录形式使用日期属性等。可利用段落折叠的功能查看,编辑文章,从而只显示关联部分的内容。

TOP标题

以一个或几个星号开始一个新的段落,后面跟一个空格和标题题目,来表示一个标题。星号的个数决定了段落的阶层等级。例如:

1            2            3            4            5            6            
#+STARTUP: showall            * Colors            ** Red            This is a content for the Red headline            ** Green            ** Blue            

TOP表示不表示

用「Shift-TAB」快捷键可以显示/隐藏文件内容1。在某个标题下按TAB键,可以切换之下的子标题和子标题的内容。

下面有3个抓图,表示澳大利亚12个月的outline。最左边显示了最上一级的的标题,中间显示了所有的标题,最右边显示了所有的标题以及对应的内容。

TOP结构化编辑

标题(行首有一个或多个星号的行)与这之下的行(不以星号开始的行)基于大纲(Outline)来编辑,按照「结构化编辑」使用一系列的命令。

Org-mode提供了许多结构化编辑的命令来提升和降低标题和子树,或者向上,下移除分支,拷贝,粘贴,删除子树等。

TOP添加和显示标签

添加提示标签使用「C-c C-c」命令。可以参照上面的截图。标签支持自动补全功能,比如你只要输入「C],然后按下tab键,自动补全为「COMPUTER」。标签表是通过扫描buffer来建立的。你可以只指定标签的缩略词来快速选择。

TOP表示NextAction表

「C-c \」命令是用来检索标签的快捷键,利用它,将制定的标签以树的形式抽出。树的形式抽出是指将文档尽量折叠,只是将被选择信息的标题,内容表示出来。

检索标签的时候,指定单一关键词(比如HOME)或者用布尔只表示。比如像「HOME|COMPUTER」一样用「&(and)」或「|(or)」来表示也可以。

下面是一个以「HOME」为关键词,检索到得结果:

TOPTodo tags, DONE and Archiving.(Todo标签,DONE和存档)

Org-mode提供了利用Todo标签给标题添加标签的功能,并提供了表示Todo标签和结束标志的命令。我没有使用该功能来管理我的行动表格,而是考虑到情境,时间,精力来选择NextAction。

TOP设置GTD文件

我的所有Project,task,行程表,将来/也许等表格都在1个文件中保存。
TOP文件开头

在我的文件中头部,记录了下面3行内容。文件名为「mygtd.org」。

1                2                3                
#+STARTUP: overview                #+TAGS: OFFICE(o) COMPUTER(c) HOME(h) PROJECT(p) READING(r) DVD(d)                #+STARTUP: hidestars                

 

第1行是指定Org-mode当文件被打开时,只显示最顶级的标题。

第2行是我使用的情境表(contexts)。圆括号中是为了快速选择而设定的缩写。输入「C-c C-c」命令,在相应分类中输入对应文字即可。

第3行是为了便于阅读,将标题前面的星号隐藏起来。2

TOP设计非限制的结构

为了方便回顾你的项目,责任,以及人生中的各个细节你需要经常尝试构建不同的文件结构。标签的分类虽说是很有用的部分,但是对于标题的排序和构造来讲还是不太重要。

作为方法之一,你可以将重要的领域,工作,家庭,按责任划分为不同的标题。列出你的家族成员姓名和活动的表格。每个项目作为一个标题,每周检查回顾这个文件的价值将是checklist的两倍。

1                    2                    3                    4                    5                    6                    7                    8                    9                    10                    11                    12                    13                    14                    15                    16                    17                    18                    19                    20                    21                    22                    23                    24                    25                    26                    27                    28                    29                    30                    31                    32                    
#+STARTUP: showall                    #+STARTUP: hidestars                    * Miscellaneous tasks                    ** Ring Service Station to book car for service :PHONE:                    ** Send email to Bill regarding sales order     :COMPUTER:                    * Emily                    This headline is to remind me to check on my daughters                    school activities!                    ** School subjects                    ** Viola                    ** Piano                    ** School Certificate Exam preparation                    * Work                    ** Work Prject 1                    *** Next action item                            :OFFICE:                    * Home                    ** Ready for Anything (David Allen) reading project                    *** Read Chapter 1                              :READING:                    * DVDs to watch                    ** Casablanca                                   :DVD:                    ** King Kong                                    :DVD:                    * Someday/Maybe                    ** Books I would like to read                    *** Life - A users manual (Georges Perec)                    ** Movies I want to see                    ** Restaurants I want to try                    ** DVDs I would like to hire                    *** Godfather III                    *** Memoirs of a Geisha                    
TOP清空大脑

为了最高效率地使你专心于所要做的一切事情,做好的方法是在文件中使用「mind-sweep」。文件的最后写一个标题Mind Sweep,之后的行用2个星号开始。

1                        2                        3                        4                        5                        
#+STARTUP: showall                        * Mind Sweep                        **   Ring Bill about that meeting                        **   Change tap washer in laundry                        **   Pay membership subscription.                        

设置一个时钟和警报,化5分钟在你的大脑中考虑所有你要做的事。考虑项目的时候,再写了简短的说明之后,键入「Alt-Enter」,就可以开始新一行的标题,且与现在的标题在同一等级。

将你大脑中所有的都取出,简单地开始工作吧。如果警报响了,就浏览你的表格,加上标签,将其转移到文件中适当的栏目中。

TOP源代码的控制与备份
为了记录每天的变更,我用SVN管理「mygtd.org」这个文件。在家里和办公室,用USB存储器或者CD保存着它的备份。
TOP访问我的GTD文件, 快!

为了快速的打开自己的GTD文件,我在.emacs文件中追加以下代码。输入「M-x gtd」命令之后,在新的窗口中就打开了我的Org-mode文件。

1                            2                            3                            4                            
 (defun gtd ()                            (interactive)                            (find-file "c:/homes/charles/gtd/gtd/mygtd.org")                            )                            

TOP收集

为了记下突发的灵感和想法,我使用IndexBox(5x3寸大小的盒子)来保存他们。我经常将想法,决定写到卡片放到IndexBox中。每周,我会检查回顾这些卡片,并与GTD文件一起更新。

TOP日历

因为我将时间表相关的工作,比如预定,还书的日期,和家里人的活动,孩子学校的活动等都记录到了随身的笔记本上。所以没有用Org-mode的时间表功能。

关于对在标题上添加时间表的功能,请参照Org-mode的文档。「C-c a」可以显示日程相关的命令列表,可以按日期,时间排序你的工作并显示指定日期的项目等。

TOP轻便的Next Action表

我喜欢将不同情境的NextAction表格以单纯的形式打印出来,并随身携带。另外,为了读取Org-mode形式的GTD文件,并按情境做成NextAction列表,我写了一个Perl脚本文件。(orghip.pl)

使用这个脚本,先将PROJECT表格表示以后,再将OFFICE情境的表格表示,最后将剩下的标签标示出来。

项目表示的顺序是按不同的情境来排序,相同的项目可以分配多个不同的情境。

下面是我的GTD文件例子:mygtd.org

1                                2                                3                                4                                5                                6                                7                                8                                9                                10                                11                                12                                13                                14                                15                                16                                17                                18                                19                                20                                21                                22                                23                                24                                25                                26                                27                                28                                29                                30                                31                                32                                33                                34                                35                                36                                37                                38                                39                                
Date Printed: Sun Sep  3 14:13:33 2006                                PROJECT:                                [ ] IPTM 9 Testing  (Beta Release)                                [ ] Learn to typeset music with Lilypond                                [ ] C# Windows Forms Programming                                [ ] Learn to Inkscape                                [ ] GTD Implementation                                OFFICE:                                [ ] Install latest Ethereal                                [ ] Retest bugs in RESOLVED status                                [ ] Go to Post Office and buy stamps                                [ ] Ring Dentist to change appointment                                HOME:                                [ ] Picture hooks in lounge room                                [ ] John Byrne Book - work through                                COMPUTER:                                [ ] Typeset "Eleanor Rigby" for Katie                                [ ] Typeset piano part of Sicilienne                                [ ] Speech timer (use Egg Timer as basis)                                [ ] Note entry program for LilyPond                                [ ] Study Tutorial 1                                [ ] Learn org-mode properly                                [ ] Write and publish tutorial on org-mode                                DVD:                                [ ] Howl's moving castle DEADLINE: <2006-09-07 Thu>                                [ ] Fantasia DEADLINE: <2006-09-15 Fri>                                READING:                                [ ] Review "Prognosis User guide"                                

TOP参考

TOPGTD

  • David Allen的网页 http://www.davidco.com
  • Getting Things Done关于Wikipedia的记载 http://en.wikipedia.org/wiki/Getting_Things_Done
  • 43 Folders http://www.43folders.com
  • Getting Things Done email group http://finance.groups.yahoo.com/group/Getting_Things_Done/
  • Charles' GTD Blog http://charlesgtd.blogspot.com

TOPEmacs

  • http://en.wikipedia.org/wiki/Emacs
  • http://www.gnu.org/software/emacs/emacs.html

TOPOrg Mode

  • Org-mode home page - http://staff.science.uva.nl/~dominik/Tools/org/
  • Charles tutorial on org-mode and dates.

1. 译注:在显示全文标题与显示内容间切换

2. 译注:保留最后一个星号,其前面的星号颜色变暗,更加突出标题的层次性。