orgfile에서 CATEGORY를 PROPERTY로 변환하는 가장 좋은 방법은 무엇입니까?emacs org 파일에서 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:")))
더 좋은 방법이 있습니까?
편집 : - 난의 단어로 인식되지 않는 "C++"CATEGORY 만 "C"를 가지고 있기 때문에
"#\\+CATEGORY: \\(\\w+\\)"
이
"#\\+CATEGORY: \\(.*$\\)"
에 수정 된 정규 표현식 "C++"는 단어로 인식됩니다.
(let ((buf_name "home.org")
(current_line 0)
(current_string ""))
(with-current-buffer buf_name
(replace-regexp "#\\+CATEGORY: \\(\\w+\\)"
":PROPERTIES:\n:CATEGORY: \\1\n:END:"
t
(point-min)
(point-max))))
을하지만 어떤 개념적으로 더 나은 방법이 단지 문체의 변화입니다 :
Talespin_Kit의 사용을 지적하고'대체-match'는 LISP를 작성할 때 더 정확 수용 할 수있는 코드를 편집. 'replace-regexp'에 대한 문서는 실제로 "정확하게 실행하고 마크를 설정하거나 아무것도 인쇄하지 않을 것이기 때문에 정확하게 수행하라"고 말합니다. – phils