从C++源代码打开emacs org-mode文件并自动创建项目

8

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

project/
project/src

我有以下文件:

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

我可以在foo.cpp的C++源代码上工作,然后使用C-x 4 a向ChangeLog文件中添加一行,就像此页面所描述的那样。
如何在todo.org文件中使用org-mode实现同样的功能。我想保留与源代码相关的待办事项列表。因此,如果在foo.cpp中我需要完成一个函数void Foo::bla(),我希望会向todo.org添加一个条目,提到这个函数和它所在的文件,就像C-x 4 a为ChangeLog所做的那样。
我还希望能够从org文件到待办任务所在的foo.cpp文件进行反向链接。

1
你可能会在org-mode邮件列表上找到更好的受众。 - Nemo
谢谢@Nemo,我也会去那里试试,并会继续寻找答案(一旦找到会在这里发布)。 - Alan Turing
1个回答

10
虽然org-mode有详细的文档,但我发现在线手册非常密集。幸运的是,有许多好的在线教程,但有时很难找到特定问题的答案。
我建议阅读org-mode手册中Capture部分。您需要进行一些设置,具体取决于您使用的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),并填充它,包括一个链接到我启动捕获时所在行的链接。
关于重新归档信息的更新:如果您有多个项目,想要保持不同的待办事项列表,您还应该了解重新归档。最简单的设置是将org-refile-targets包含您的所有待办事项文件的列表。在捕获过程中,您可以将任务直接“归档”到任何一个归档目标中。
(setq org-refile-targets 
  '((nil :maxlevel . 2) 
    ("~/project/todo.org" :level . 1)))

这里有一篇关于 org-mode 的捕获和重新归档的详细指南,请看这个页面


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接