高效使用 Org-mode
简介
在我 前篇关于Emacs的文章中 我提到了 Org-mode, 一个笔记管理工具和组织工具. 文本, 我将会描述一下我日常的Org-mode使用案例.
笔记和代办列表
首先而且最重要的是, Org-mode 是一个管理笔记和待办列表的工具, Org-mode 的所有工具都聚焦于使用纯文本文件记录笔记. 我使用Org-mode管理多种笔记.
一般性笔记
Org-mode 最基本的应用场景就是以笔记的形式记录下你想记住的事情. 比如, 下面是我正在学习的笔记内容:
* Learn ** Emacs LISP *** Plan - [ ] Read best practices - [ ] Finish reading Emacs Manual - [ ] Finish Exercism Exercises - [ ] Write a couple of simple plugins - Notification plugin *** Resources https://www.gnu.org/software/emacs/manual/html_node/elisp/index.html http://exercism.io/languages/elisp/about The Ultimate Collection of Emacs Resources ** Rust gamedev *** Study gate 2d game engine with web assembly support *** https://github.com/ggez/ggez *** Amethyst 0.8 Relesed ** Upgrade Elixir/Erlang Skills *** Read Erlang in Anger
借助 org-bullets 它看起来是这样的:
在这个简单的例子中,你能看到Org-mode的一些功能:
- 笔记允许嵌套
- 链接
- 带复选框的列表
项目待办
我在工作时时常会发现一些能够改进或修复的事情. 我并不会在代码文件中留下 TODO 注释 (坏味道),相反我使用 org-projectile 来在另一个文件中记录一个 TODO 事项,并留下一个快捷方式. 下面是一个该文件的例子:
* [[elisp:(org-projectile-open-project%20"mana")][mana]] [3/9] :PROPERTIES: :CATEGORY: mana :END: ** DONE [[file:~/Development/mana/apps/blockchain/lib/blockchain/contract/create_contract.ex::insufficient_gas_before_homestead%20=][fix this check using evm.configuration]] CLOSED: [2018-08-08 Ср 09:14] [[https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md][eip2]]: If contract creation does not have enough gas to pay for the final gas fee for adding the contract code to the state, the contract creation fails (i.e. goes out-of-gas) rather than leaving an empty contract. ** DONE Upgrade Elixir to 1.7. CLOSED: [2018-08-08 Ср 09:14] ** TODO [#A] Difficulty tests ** TODO [#C] Upgrage to OTP 21 ** DONE [#A] EIP150 CLOSED: [2018-08-14 Вт 21:25] *** DONE operation cost changes CLOSED: [2018-08-08 Ср 20:31] *** DONE 1/64th for a call and create CLOSED: [2018-08-14 Вт 21:25] ** TODO [#C] Refactor interfaces ** TODO [#B] Caching for storage during execution ** TODO [#B] Removing old merkle trees ** TODO do not calculate cost twice * [[elisp:(org-projectile-open-project%20".emacs.d")][.emacs.d]] [1/3] :PROPERTIES: :CATEGORY: .emacs.d :END: ** TODO fix flycheck issues (emacs config) ** TODO use-package for fetching dependencies ** DONE clean configuration CLOSED: [2018-08-26 Вс 11:48]
它看起来是这样的:
本例中你能看到更多的 Org mode 功能:
- todo 列表具有
TODO
,DONE
两个状态. 你还可以定义自己的状态(WAITING
等) - 关闭的事项有
CLOSED
时间戳 - 有些事项有优先级 - A, B, C.
- 链接可以指向文件内部(
[[file:~/...]
)
捕获模板
正如 Org-mode 的文档中所描述的, capture 可以在不怎么干扰你工作流的情况下让你快速存储笔记.
我配置了许多捕获模板,可以帮我快速记录想要记住的事情.
(setq org-capture-templates '(("t" "Todo" entry (file+headline "~/Dropbox/org/todo.org" "Todo soon") "* TODO %? \n %^t") ("i" "Idea" entry (file+headline "~/Dropbox/org/ideas.org" "Ideas") "* %? \n %U") ("e" "Tweak" entry (file+headline "~/Dropbox/org/tweaks.org" "Tweaks") "* %? \n %U") ("l" "Learn" entry (file+headline "~/Dropbox/org/learn.org" "Learn") "* %? \n") ("w" "Work note" entry (file+headline "~/Dropbox/org/work.org" "Work") "* %? \n") ("m" "Check movie" entry (file+headline "~/Dropbox/org/check.org" "Movies") "* %? %^g") ("n" "Check book" entry (file+headline "~/Dropbox/org/check.org" "Books") "* %^{book name} by %^{author} %^g")))
做书本记录时我需要记下它的名字和作者, 做电影记录时我需要记下标签,等等.
规划
Org-mode的另一个超棒的功能是你可以用它来作日常规划. 让我们来看一个例子:
我没有挖空心思虚构一个例子, 这就是我现在真实文件的样子. 它看起来内容并不多,但它有助于你花时间在在重要的事情上并且帮你对抗拖延症.
习惯
根据 Org mode 的文档, Org 能够跟踪一种特殊的代办事情,称为 “习惯”. 当我想养成新的习惯时,我会将该功能与日常规划功能一起连用:
你可以看到,目前我在尝试每天早期并且每两天锻炼一次. 另外, 它也有助于让我每天阅读书籍.
议事日程视图
最后,我还使用议事日程视图功能. 待办事项可能分散在不同文件中(比如我就是日常规划和习惯分散在不同文件中), 议事日程视图可以提供所有待办事项的总览:
更多 Org mode 功能
- 手机应用(Android, ios)
- 将 Org mode 文档导出为其他格式(html, markdown, pdf, latex etc)
- 使用ledger 追踪财务状况
总结
本文我描述了Org-mode广泛功能中的一小部分, 我每天都用它来提高工作效率,把时间花在重要的事情上.