【问题标题】:Open an emacs org-mode file from C++ source code and automatically create an item从 C++ 源代码打开一个 emacs org-mode 文件并自动创建一个项目
【发布时间】:2011-06-07 14:50:36
【问题描述】:

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

project/
project/src

我有以下文件:

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

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

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

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

【问题讨论】:

  • 您可能会在org-mode mailing list 上找到更好的受众。
  • 谢谢@Nemo,我也会在那里尝试,并会继续寻找答案(一旦找到答案就在这里发布)。

标签: c++ emacs org-mode


【解决方案1】:

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

我建议阅读Capture 上的 org-mode 手册部分。你需要做一个 很少的设置和细节取决于您拥有的 org-mode 版本。 (一世 建议使用 7.x。如果你被困在 6.x 上,我没有任何捕获设置 下面描述将起作用。)

这是我的 emacs 设置中的一个简单的 sn-p:

;;; 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]ournal),并将其填入 包括我开始捕获时所在线路的链接。


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

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

this page about org-mode 上有一个很好的捕获和重新归档演练。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多