我在cc模式缓冲区中使用hideshow.el来折叠我不看的文件部分。
能够在XML文档中执行此操作会很高兴。我使用emacs 22.2.1和内置的sgml-mode进行xml编辑。我还没有使用hideshow来处理XML。我的意思是,我打开次要模式但按键没有效果。哦,除了我确实得到了一个XML评论崩溃。但没有元素。
有没有人成功完成这项工作?
建议?
编辑:我敢打赌,如果我将一个sgml-mode元素添加到hs-special-modes-alist,它会起作用。我需要一个用于start-block的正则表达式。有没有人这样做过?
我还没有搬到nxml-mode。我是不是该?它会“折叠”还是隐藏?
答案 0 :(得分:10)
回答我自己的问题......我正在使用这样的东西。似乎工作。
;; Fix XML folding
(add-to-list 'hs-special-modes-alist
(list 'nxml-mode
"<!--\\|<[^/>]*[^/]>"
"-->\\|</[^/>]*[^/]>"
"<!--"
'nxml-forward-element
nil))
;; Fix HTML folding
(dolist (mode '(sgml-mode
html-mode
html-erb-mode))
(add-to-list 'hs-special-modes-alist
(list mode
"<!--\\|<[^/>]*[^/]>"
"-->\\|</[^/>]*[^/]>"
"<!--"
'sgml-skip-tag-forward
nil)))