私は本当にorg-modeを使いたいです。
しかし、org-mode を使用して、別の見出し構文を使用して既に記述されている構造化文書を理解したい、
たとえば、twiki の ---+ を使用する
---+ H1
Top level
---++ H2
Nested
---+ H1 #2
Second top level
またはmediawikiのような
= H1 =
Top level
== H2 ==
Nested
= H1 #2 =
Second top level
これらのさまざまな見出しスタイルを使用するだけで、org-mode の折りたたみなどの利点をすべて利用したいと考えています。
実際には、さらに悪いことに:
たとえば、組織モードのアスタリスクの見出しよりも、twiki や mediawaiki の見出しを優先してほしいと思います。でも両方使いたい。
= H1 =
Top level
* this is a list
** nested
* list
** nested
== H2 ==
Nested
= H1 #2 =
Second top level
--+ これまでに試したこと
アウトライン モードを使用して twiki を処理することができました。
---+ Emacs stuff
# try (defvar twiki-outline-regexp "---+\\++ \\|\\(\\(?: \\)+\\)[0-9*] ")
Local Variables: ***
outline-regexp: "^---\\++" ***
org-outline-regexp: "^---\\++" ***
End: ***
ただし、 org-outline-regexp は、私が望んでいたことをしません。
emacs の Outline-mode の out-level 関数は、私が求めているものとほとんど同じです。
(defvar outline-level 'outline-level
"*Function of no args to compute a header's nesting level in an outline.
It can assume point is at the beginning of a header line and that the match
data reflects the `outline-regexp'.")
つまり、regexps の代わりに汎用関数を使用します。
しかし、組織モードで動作させることはできませんでした。org-mode は実際にはこれを使用していないか、むしろ他のものを持っているようです。
;; In Org buffers, the value of `outline-regexp' is that of
;; `org-outline-regexp'. The only function still directly relying on
;; `outline-regexp' is `org-overview' so that `org-cycle' can do its
;; job when `orgstruct-mode' is active.
(defvar org-outline-regexp "\\*+ "
"Regexp to match Org headlines.")
(defconst org-outline-regexp-bol "^\\*+ "
"Regexp to match Org headlines.
This is similar to `org-outline-regexp' but additionally makes
sure that we are at the beginning of the line.")
(defconst org-heading-regexp "^\\(\\*+\\)\\(?: +\\(.*?\\)\\)?[ \t]*$"
"Matches an headline, putting stars and text into groups.
Stars are put in group 1 and the trimmed body in group 2.")
これに失敗すると、まあ、私が組織モードに望む主なものはリンクです。ここで別の質問をする How can I "linkify" a non-org-mode buffer in emacs