在組織文件中將CATEGORY轉換爲PROPERTY的最佳方法是什麼?在emacs組織文件中將CATEGORY轉換爲PROPERTY的最佳方法
#+CATEGORY: NETWORKING
到
:PROPERTIES:
:CATEGORY: NETWORKING
:END:
我用下面的elisp的代碼來做到這一點。
(let ((buf_name "home.org") (current_line 0) (current_string ""))
(set-buffer buf_name)
(goto-char (point-min))
(while (re-search-forward "#\\+CATEGORY: \\(.*$\\)" nil t)
(replace-match ":PROPERTIES:\n:CATEGORY: \\1\n:END:")))
有沒有更好的方法。
編輯: - 正則表達式
"#\\+CATEGORY: \\(\\w+\\)"
已被修飾以
"#\\+CATEGORY: \\(.*$\\)"
因爲我不得不在沒有被識別爲一個字一個 「C++」 CATEGORY,只有 「C」 「C++」被認爲是一個詞。
Talespin_Kit的使用和更換' - match'寫口齒不清時是比較正確的。 'replace-regexp'的文檔實際上告訴你這麼做,因爲它「運行得更快,不會設置標記或打印任何東西」。 – phils