次のヘッダーでメモファイルを保持しています
### - - セクション ##-- サブセクション #- サブサブセクション
これらをナビゲートするためにスピードバーをカスタマイズする方法はありますか? 現在、Mx speedbar はディレクトリの一覧を表示するだけです。これまでは、この目的のために "Mx occur #-" を使用してきました。
次のヘッダーでメモファイルを保持しています
### - - セクション ##-- サブセクション #- サブサブセクション
これらをナビゲートするためにスピードバーをカスタマイズする方法はありますか? 現在、Mx speedbar はディレクトリの一覧を表示するだけです。これまでは、この目的のために "Mx occur #-" を使用してきました。
シンプルな派生モードと imenu を使用できます。たとえば、メモが拡張子「.notes」のファイルにあるとします。
(define-derived-mode notes-mode text-mode "notes"
"Mode for editing my notes."
(setq imenu-generic-expression (list '(nil "^\\s-*[#]+[-]+\\s-*\\(.+\\)" 1))))
(add-to-list 'auto-mode-alist '("\\.notes" . notes-mode))
(eval-after-load "speedbar"
'(speedbar-add-supported-extension ".notes"))
正規表現は少し大雑把ですが、理解できます。ヘッダーを目立たせたい場合は、ヘッダーをフォントロックすることもできます。
-*- mode: outline-mode; outline-regexp: "#+" -*-
ファイルの最初の行に ( (eval-after-load "speedbar" '(speedbar-add-supported-extension ".notes"))
scottfrazer によって提案されたものと一緒に) を追加すると、設定が完了します。
ただし、event_jr が言及しているように、ファイルの名前を「.org」拡張子に変更し、「#」文字を「*」に置き換える方がよい場合があります。
Org-mode は基本的に Outline-mode の (はるかに大きな) スーパーセットです。