2011-06-07 68 views
8

我正在開發一個C++項目。假設我有以下目錄結構:從C++源代碼打開一個emacs組織模式文件並自動創建一個項目

project/ 
project/src 

和我有以下文件:

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

我可以在foo.cpp在C++源代碼工作,然後添加一行到changelog文件只是C-x 4 athis page所述。

如何在文件todo.org上使用組織模式實現同樣的功能。我想保留一個與源代碼相關的列表。所以如果在foo.cpp我需要完成一個功能void Foo::bla()我想要一個條目被添加到todo.org提到這個功能和它所在的文件很像C-x 4 a爲ChangeLog。

我還希望能夠從組織文件到foo.cpp檔案中執行待辦任務的反向鏈接。

+1

您可能會在[org-mode郵件列表](http://orgmode.org/worg/org-mailing-list.html)上找到更好的受衆羣體。 – Nemo 2011-06-07 15:13:12

+0

謝謝@Nemo,我也會在那裏試試,並會繼續尋找答案(一旦找到答案,我會在這裏發帖)。 – 2011-06-07 19:13:00

回答

10

當組織模式被廣泛記錄時,我發現在線手冊是非常密集的 。幸運的是,網上有很多很好的教程,但有時候很難找到具體問題的答案。

我建議閱讀有關Capture的組織手冊部分。您需要執行一些設置,具體取決於您擁有的組織模式的版本。 (如果你被困在6.x的我 推薦使用7.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當我在我的源文件中。組織模式允許我選擇 模板(上述示例中的[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有一個很好的演練捕獲和重新填充。

相關問題