我正在开发一个C ++项目。假设我有以下目录结构:
project/
project/src
我有以下文件:
project/ChangeLog
project/todo.org
project/src/foo.cpp
我可以使用foo.cpp
中的C ++源代码,然后在C-x 4 a
描述的todo.org
中添加一行到ChangeLog文件中。
如何在文件foo.cpp
上使用org-mode实现相同类型的功能。我想保留相对于源代码的待办事项列表。因此,如果在void Foo::bla()
我需要完成一个函数todo.org
,我希望将一个条目添加到C-x 4 a
,提及此函数及其所在的文件,就像foo.cpp
一样适用于ChangeLog。
我还希望能够拥有从org文件到待执行任务所在的{{1}}文件的反向链接。
答案 0 :(得分:10)
虽然广泛记录了组织模式,但我确实找到了在线手册 非常密集。幸运的是,网上有很多很好的教程,但有时也是如此 很难找到特定问题的答案。
我建议您阅读Capture上的组织模式手册部分。你需要做一个 小设置和细节取决于您拥有的组织模式的版本。 (一世 建议使用7.x.如果你被卡在6.x上,那么捕获设置都没有 以下描述将起作用。)
以下是我的emacs设置中的简单代码段:
;;; capture mode
(setq org-default-notes-file (concat org-directory "/capture.org"))
(define-key global-map "\C-cc" 'org-capture)
(setq org-capture-templates
'(("t" "Todo" entry (file+headline org-default-notes-file "Tasks")
"** TODO %?\n %i\n %a")
("j" "Journal" entry (file+headline "~/journal/journal.org" "Today")
"** %?\nEntered on %U\n %i\n %a")))
现在,当我在源文件中时,我点击 C-c c 。组织模式让我选择 一个模板(上面例子中的[t] odo或[j] mynal),并将其填入 包括我启动捕获时我所在线路的链接。
更新了有关重新投放的信息:如果您有多个项目并想要保留单独的待办事项列表,您还应该了解Refiling。最简单的设置是让org-refile-targets
包含您的todo.org文件列表。在捕获过程中,您可以将任务直接“重新”“转换为任何refile目标。
(setq org-refile-targets
'((nil :maxlevel . 2)
("~/project/todo.org" :level . 1)))
在this page about org-mode上有一个很好的捕捉和重新演绎的演练。