高效使用 Org 模式
簡介
在我 前一篇關於 Emacs 的文章中 我提到了 Org 模式,這是一個筆記管理工具和組織工具。本文中,我將會描述一下我日常的 Org 模式使用案例。
筆記和代辦列表
首先而且最重要的是,Org 模式是一個管理筆記和待辦列表的工具,Org 模式的所有工具都聚焦於使用純文字檔案記錄筆記。我使用 Org 模式管理多種筆記。
一般性筆記
Org 模式最基本的應用場景就是以筆記的形式記錄下你想記住的事情。比如,下面是我正在學習的筆記內容:
* 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
[[http://batsov.com/articles/2011/11/30/the-ultimate-collection-of-emacs-resources/][The Ultimate Collection of Emacs Resources]]
** Rust gamedev
*** Study [[https://github.com/SergiusIW/gate][gate]] 2d game engine with web assembly support
*** [[ggez][https://github.com/ggez/ggez]]
*** [[https://www.amethyst.rs/blog/release-0-8/][Amethyst 0.8 Relesed]]
** Upgrade Elixir/Erlang Skills
*** Read Erlang in Anger
藉助 org-bullets 它看起來是這樣的:
在這個簡單的例子中,你能看到 Org 模式的一些功能:
- 筆記允許巢狀
- 連結
- 帶核取方塊的列表
專案待辦
我在工作時時常會發現一些能夠改進或修復的事情。我並不會在程式碼檔案中留下 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 模式的功能:
- 代辦列表具有
TODO
、DONE
兩個狀態。你還可以定義自己的狀態 (WAITING
等) - 關閉的事項有
CLOSED
時間戳 - 有些事項有優先順序 - A、B、C
- 連結可以指向檔案內部 (
[[file:~/。..]
)
捕獲模板
正如 Org 模式的文件中所描述的,捕獲可以在不怎麼干擾你工作流的情況下讓你快速儲存筆記。
我配置了許多捕獲模板,可以幫我快速記錄想要記住的事情。
(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 模式的另一個超棒的功能是你可以用它來作日常規劃。讓我們來看一個例子:
我沒有挖空心思虛構一個例子,這就是我現在真實檔案的樣子。它看起來內容並不多,但它有助於你花時間在在重要的事情上並且幫你對抗拖延症。
習慣
根據 Org 模式的文件,Org 能夠跟蹤一種特殊的代辦事情,稱為 “習慣”。當我想養成新的習慣時,我會將該功能與日常規劃功能一起連用:
你可以看到,目前我在嘗試每天早期並且每兩天鍛鍊一次。另外,它也有助於讓我每天閱讀書籍。
議事日程檢視
最後,我還使用議事日程檢視功能。待辦事項可能分散在不同檔案中(比如我就是日常規劃和習慣分散在不同檔案中),議事日程檢視可以提供所有待辦事項的總覽:
更多 Org 模式的功能
- 手機應用(Android、ios)
- 將 Org 模式文件匯出為其他格式(html、markdown、pdf、latex 等)
- 使用 ledger 追蹤財務狀況
總結
本文我描述了 Org 模式廣泛功能中的一小部分,我每天都用它來提高工作效率,把時間花在重要的事情上。
via: https://www.badykov.com/emacs/2018/08/26/be-productive-with-org-mode/
作者:Ayrat Badykov 選題:lujun9972 譯者:lujun9972 校對:wxy
相關文章
- Emacs 系列(四):使用 Org 模式自動管理郵件及同步文件Mac模式
- 開始使用 Org 模式吧,在沒有 Emacs 的情況下模式Mac
- Emacs 系列(三): Org 模式的補充Mac模式
- [譯] 在 flutter 中高效地使用 BLoC 模式FlutterBloC模式
- Emacs 系列(五):Org 模式之文件與演示稿Mac模式
- 通過 Org 模式管理 Chromium 和 Firefox 會話模式Firefox會話
- 使用sync.Once實現高效的單例模式單例模式
- 13個VSCode使用技巧,開啟高效的開發模式VSCode模式
- 在 Firefox 上使用 Org 協議捕獲 URLFirefox協議
- Go高效併發 11 | 併發模式:Go 語言中即學即用的高效併發模式Go模式
- ORG 偽指令
- Java 高效程式設計之 Builder 模式Java程式設計UI模式
- 如何高效使用Vim
- 使程式執行更高效——原型模式原型模式
- 正確高效使用 GoogleGo
- 如何高效的使用 GitGit
- python有pypi.org,為什麼golang沒有gopi.orgPythonGolang
- 高效能的Reactor和Proactor模式學習React模式
- org.springframework.aop.TargetSourceSpringFramework
- 高效的使用 Notepad++ 工具
- 高效的使用搜尋引擎
- 【譯】如何高效的使用 GitGit
- [轉] 高效使用 django 的 querysetDjango
- Linux(伺服器程式設計):15---兩種高效的事件處理模式(reactor模式、proactor模式)Linux伺服器程式設計事件模式React
- org.springframework.beans.factory.BeanCreationExceptionSpringFrameworkBeanException
- org.apache.shiro.authc.UsernamePasswordTokenApache
- org.slf4j.Logger
- org.springframework.cache.ehcache.EhCacheManagerFactoryBeanSpringFrameworkBean
- 使用Excel高效處理資料Excel
- MongoDB – 使用模式構建之多型模式MongoDB模式多型
- 高效的Mobx模式(Part 2 - 掌握資料變更方法)模式
- 5分鐘即可掌握的前端高效利器:JavaScript 策略模式前端JavaScript模式
- 為什麼說不變模式可以提高效能模式
- 3.3.5 使用Abort模式模式
- 如何使用 Service 模式模式
- 如何使用 Repository 模式模式
- Error:Unknow host 'service.gradle.org'ErrorGradle
- golang.org/x/sys/unix: unrecognizedGolangZed