我一直在保留带有以下标题的备注文件
###--- section ##-- subsection #- subsubsection
有没有办法自定义speedbar来浏览这些?现在M-x speedbar只给我目录列表。到目前为止,我一直在使用“M-x出现# - ”为此目的。
答案 0 :(得分: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"))
正则表达式有点粗糙,但你明白了。如果你想让它们脱颖而出,你也可以对标题进行字体锁定。
答案 1 :(得分:1)
在文件的第一行添加-*- mode: outline-mode; outline-regexp: "#+" -*-
(以及scottfrazer建议的(eval-after-load "speedbar" '(speedbar-add-supported-extension ".notes"))
),您应该设置。
但正如event_jr所提到的,你可能最好用“.org”扩展名重命名你的文件,并用“*”替换你的“#”字符。
组织模式基本上是轮廓模式的(更大)超集。