0

我一直在保存带有以下标题的注释文件

### - - 部分
##-- 小节
#- 小节

有没有办法自定义速度条来导航这些?现在 Mx speedbar 只是给我目录列表。到目前为止,我一直为此目的使用“Mx 发生 #-”。

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”扩展名重命名文件并将“#”字符替换为“*”。

组织模式基本上是大纲模式的(更大的)超集。

于 2012-09-19T20:19:38.963 回答