专为GTD定制的emacs简单版


1 缘由


前段时间给同事介绍了 GTD 工作方法了。尽管这是一个非常棒而且对工作很有帮助的方法,可苦于没有很好的管理软件,很多同事都没有开始使用。而在我的经验中,最好用的 GTD 软件当属 emacs 中的 ORG 模式。而对于 emacs 这个号称“神的编辑器”软件,通常进入它的世界是需要经过一个痛苦、漫长(大概半年)的煎熬的。所以,为了能让更多朋友使用到这个又好又强大的 GTD 软件,又不需要为入门而浪费很多时间。所以,我决定为大家定制一个专为 GTD 使用的 emacs 软件版本。

在定制过程中,遇到了很多问题,但最终通过了网上各位朋友的资料,顺利解决了,并且获得了自我提高。在此,向提供各项参考资料的朋友(见参考资料一栏)表示衷心的感谢。

最后,希望使用的朋友能够多提些改进建议,使最终定制的软件更容易使用,这样能让更多朋友用得更爽哈!

2 安装

点击如下链接 http://download.csdn.net/detail/lvye1221/8075041 下载定制后软件包


1. 解压压缩包,得到 emacs-23.4-gtd-jack 文件夹,将其放在 D:\ 根目录

2. 双击运行 D:\emacs-23.4-gtd-jack\home\install\install.bat 文件即可(如果出现问题,再双击 setHomel.reg)

补充:

如果解压文件夹没有放在 D:\ 根目录,那么需要编辑 你的路径\emacs-23.4-gtd-jack\home\install\emacs-home\emacs-home\.emacs 中,修改:

(setenv "HOME" "d:/scratch/gtd-software/emacs-23.4-gtd-jack/home")

修改 d:/scratch/gtd-software/emacs-23.4-gtd-jack/home 字符串为 你的路径/emacs-23.4-gtd-jack/home

3 GTD 流程

3.1 收集

按 [F12],输入临时想法后,按 ctrl + s 键,保存想法到 work 分类中,并会自动设定此任务的计划时间为今天。

GTD 工作方法,以及网上的资料都建议将问题分类。为简单起见,这里就强制设定为 work 分类。如果想在插入项目时,自动插入到具体分类的话,可以参考如下代码,修改配置文件即可。

(setq org-remember-templates
'(("work" ?w "* TODO %?\n  SCHEDULED: %t" "~/org/work.org" "work")
  ("inbox" ?i "* TODO %?\n %i\n" "~/org/work.org" "inbox")
  ("idea" ?d "* TODO %?\n %i\n %a" "~/org/work.org" "idea")
))

3.2 整理


添加新任务后,按 F8 键重新查看更新后的任务列表

3.2.1 切换任务状态

用光标在任务上移动,并不断按 t 键,切换任务状态(TODO, DONE, 无)

3.2.2 设定任务优先级

按住 Shift + 向上键(或向下键) 不断切换任务级别([#A], [#B], [#C], 无)

3.3 归档

3.3.1 操作步骤

用上下键,将光标移动到对应任务上,按 'a' (archieve 归档的意思),然后在 emacs 的底部状态栏上会提示 "Archieve this subtree or entry? (y or n)" 按下 'y' 即可归档

3.3.2 查看归档文件

在任务列表视图中,按 'a' 即可完成任务归档,通常生成的文件在 D:\emacs-23.4-gtd-jack\home\org\work.org_archive 文件中,可以直接拖住到 emacs 或其他编辑器中打开查看

3.4 回顾


在修改任务的状态和优先级别后,按 F8 键重新查看更新后的任务列表,接着可以按 'd' 键切换到当日模式

3.5 执行


执行任务。也可以对任务进行计时,但由于按键会麻烦一点如下,可以不使用:

Ctrl+c Ctrl+x Ctrl+i 代表启动计时(可以按住 ctrl 键不松,然后依次按 c, x, i 键即可)
Ctrl+c Ctrl+x Ctrl+i 代表结束计时(可以按住 ctrl 键不松,然后依次按 c, x, o 键即可)


4 定制 emacs 中的小经验


4.1 修改快捷键映射


先找到命令所对应的具体函数。例如:想获取 remember 模式下的保存临时文件的 C-c C-c 所对应的函数名:

[C-h v] remember-mode-map

remember-mode-map is a variable defined in `remember.el'.
Its value is (keymap
 (3 keymap
    (11 . remember-destroy)
    (3 . remember-finalize))
 (24 keymap
     (19 . remember-finalize)))


打开 remember.el 可以找到: (define-key map "\C-c\C-c" 'remember-finalize)。即找到 remember-finalize 函数。

5 参考资料


5.1 用Org-mode 实现 GTD


1. 规划了不同文件的分类: inbox 收件箱、task 待办事项 等
2. 状态切换 "TODO(t!)" "NEXT(n)" "WAITTING(w)" "SOMEDAY(s)" "|" "DONE(d@/!)" "ABORT(a@/!)"
3. 提出情景标签的定义

这位作者绝对是一位大神级别的任务,有空可多多阅读 他的博客

5.2 GTD实践---使用Emacs和Org-mode
作者介绍了,在各种情境下的使用情况。
好喜欢他关于项目计划时间以及完成时间的视图

5.3 Emacs GTD

5.4 Org-mode,最强的任务管理利器

5.5 Remember Mode 指导
%a 代表追加当前行后面的信息

5.6 emacs中怎样修改Major Mode的快捷键


5.7 使得emacs启动后能够最大化的方式


6 附录

熟悉 emacs 配置的朋友,直接在 .emacs 文件中采用如下配置即可:


;; org mode
;; (require 'org-install)
(setq org-agenda-files (list "~/org/work.org"))

;; (define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)

;; org-remember 快捷键设置
(define-key global-map [f12] 'org-remember)

(org-remember-insinuate)

;; (setq org-remember-templates
;; '(("work" ?w "* TODO %?\n  SCHEDULED: %t" "~/org/work.org" "work")
;;   ("inbox" ?i "* TODO %?\n %i\n" "~/org/work.org" "inbox")
;;   ("idea" ?d "* TODO %?\n %i\n %a" "~/org/work.org" "idea")
;; ))

(setq org-remember-templates
'(("work" ? "* TODO %?\n  SCHEDULED: %t" "~/org/work.org" "work")
))

;; 修改 remember 的保存方式
;; (define-key remember-mode-map (kbd "C-s") 'remember-finalize)
;; 修改保存文件快捷键
(global-set-key "\C-s" 'remember-finalize)

(setq org-default-notes-file "~/org/work.org")

;;开机自动显示日程表
(org-agenda-list t)

;;关闭其它窗口
(delete-other-windows)

(define-key global-map [f8] 'org-agenda-list)

;; 自动最大化软件
(run-with-idle-timer 0.01 nil 'w32-send-sys-command 61488)





posted @ 2014-10-23 22:40  lvye1221  阅读(13)  评论(0编辑  收藏  举报