Emacs org进阶

来源:互联网 发布:java.io jar包 编辑:程序博客网 时间:2024/04/30 21:47

Emacs org进阶

Table of Contents

  • 1 前面的话
  • 2 快速启动remember-mode
  • 3 快速打开inbox
  • 4 为生成的html着色
    • 4.1 下载htmlize.el
    • 4.2 添加配置
  • 5 设置GTD收集项目的模板
  • 6 设置TODO关键字
  • 7 设置快捷键启动日程表
  • 8 打开Emacs显示日程表
  • 9 转接


1 前面的话

虽然Emacs23自带了Org-mode,但是如果方便地需要使用它,必须做相应的配置才行。而关于Emacs org是什么,到底有什么用,这里不解释,如果你想了解,可以在网上搜索,找到关于Emacs org 和 GTD 的文章。


我推荐你看看《尽管去做:无压工作的艺术》,这是一本介绍如何使用GTD来优化和提高工作效率的畅销书籍。


好了,在这之前,我还是放一张我打开Emacs的截图




2 快速启动remember-mode

;; Ctrl-c-c 快速启动remember(global-set-key "\C-cc" 'remember)


3 快速打开inbox

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


4 为生成的html着色

正常生成的html白白黑黑的,没有第三种颜色,对一般人来说比较枯燥。如果你需要插入lisp/shell代码,五颜六色的比较赏心悦目,当然我不太喜欢它生成的html,也没有使用。


4.1 下载htmlize.el

这个很简单,谷歌htmlize.el,直接就会找到,很简单。


4.2 添加配置

;; 添加网页着色(require 'htmlize)


5 设置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" ?b "** %? %t\n %i\n %a" "~/GTD/inbox.org" "Book") ("CUBlog" ?c "** %? %t\n %i\n %a" "~/GTD/inbox.org" "CUBlog") ("Project" ?p "** %? %t\n %i\n %a" "~/GTD/inbox.org" "Project")("GitHub" ?g "** %? %t\n %i\n %a" "~/GTD/inbox.org" "GitHub")("Log" ?l "** %? %T\n %i\n %a" "~/GTD/log.org" ))) (setq org-default-notes-file (concat org-directory "/inbox.org"))


6 设置TODO关键字

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


7 设置快捷键启动日程表

;; 快速启动 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-agenda-month-view)


8 打开Emacs显示日程表

日程表这个东西就是需要不时的看一下,不然单单把它记录起来很容易遗忘,所以我就把它放在启动的时候。每天,开机,打开Emacs,查看今天的日程表,然后做相应的工作,多好~


;; 自动显示日程表(setq org-agenda-files(list "~/GTD/inbox.org"))(org-agenda-list t );; 关闭其它窗口(delete-other-windows)


9转接

如果你不知道org或者GTD为何物,可能有些云里雾里的。转接的目的,就是方便在文件内或者文件之间,互换某些内容。比如,我在inbox里完成了某个 TODO,然后将其标志成 DONE ,接着需要将这部分内容放到finished里面。如果按照正常的流程,肯定是先剪切然后复制。由于每天的可能标记完成的任务比较多,如果都剪切复制,这样的效率太低了,转接就是专门为了提高这个而来的。


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




Date: 2012-10-14 Sun

Author: lishuo

Org version 7.9.1 with Emacs version 23

Validate XHTML 1.0
原创粉丝点击