0

次のヘッダーでメモファイルを保持しています

### - - セクション
##-- サブセクション
#- サブサブセクション

これらをナビゲートするためにスピードバーをカスタマイズする方法はありますか? 現在、Mx speedbar はディレクトリの一覧を表示するだけです。これまでは、この目的のために "Mx occur #-" を使用してきました。

4

2 に答える 2

2

シンプルな派生モードと 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"))

正規表現は少し大雑把ですが、理解できます。ヘッダーを目立たせたい場合は、ヘッダーをフォントロックすることもできます。

于 2012-09-18T19:07:32.947 に答える
1

-*- mode: outline-mode; outline-regexp: "#+" -*-ファイルの最初の行に ( (eval-after-load "speedbar" '(speedbar-add-supported-extension ".notes"))scottfrazer によって提案されたものと一緒に) を追加すると、設定が完了します。

ただし、event_jr が言及しているように、ファイルの名前を「.org」拡張子に変更し、「#」文字を「*」に置き換える方がよい場合があります。

Org-mode は基本的に Outline-mode の (はるかに大きな) スーパーセットです。

于 2012-09-19T20:19:38.963 に答える