8

我正在做一个 C++ 项目。假设我有以下目录结构:

project/
project/src

我有以下文件:

project/ChangeLog
project/todo.org
project/src/foo.cpp

我可以处理 C++ 源代码,foo.cpp然后在 ChangeLog 文件中添加一行,C-x 4 a就像本页描述的那样。

如何在文件上使用 org-mode 实现相同的功能todo.org。我想保留一个相对于源代码的待办事项列表。因此,如果foo.cpp我需要完成一个函数void Foo::bla(),我希望添加一个条目来todo.org提及此函数及其所在的文件,就像C-x 4 aChangeLog 一样。

我还希望能够有从 org 文件到待foo.cpp办任务所在文件的反向链接。

4

1 回答 1

10

虽然 org-mode 被广泛记录,但我确实发现在线手册非常密集。幸运的是,网上有很多很好的教程,但有时很难找到特定问题的答案。

我建议阅读Capture上的 org-mode 手册部分。您需要进行一些设置,具体情况取决于您拥有的 org-mode 版本。(我建议使用 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当我在源文件中时,我点击了。Org-mode 让我选择一个模板(上例中的 [t]odo 或 [j]ournal),并在其中包含指向我在启动捕获时所在行的链接。


更新了有关 Refiling 的信息:如果您有多个项目并希望保留单独的待办事项列表,您还应该了解Refiling。最简单的设置是org-refile-targets包含一个 todo.org 文件列表。在捕获过程中,您可以将任务直接“重新归档”到任何重新归档目标中。

(setq org-refile-targets 
  '((nil :maxlevel . 2) 
    ("~/project/todo.org" :level . 1)))

这个页面上有一个很好的关于 org-mode的捕获和重新归档的演练。

于 2011-06-08T17:15:10.560 回答