在emacs nxml-mode中折叠标签

22

互联网上充满了在Glorious Emacs编辑器中折叠代码的古老原则。其中包括folding.el、outline-minor-mode和fold-dwim.el。然而,我的无知之脑无法编写所需的elisp配置。

请帮助一个凡人在nxml-mode中折叠标签,最好使用TAB键。如果相关,请注意我使用viper和vimpulse。

3个回答

6
它被称为nxml-mode中的大纲,它在nxml-mode文档的第5节中。该节开始于...
5 大纲

nXML模式允许您以与Emacs的大纲模式类似的方式显示缓冲区的全部或部分内容作为大纲。 nXML模式中的大纲基于识别两种元素:部分和标题。每个部分都有一个标题,每个标题都有一个部分。部分包含其标题作为其第一个子元素或其中的子元素。部分还包含其下级部分(其子部分)。部分的文本内容包括部分中既不是子部分也不是标题的任何内容。

https://www.gnu.org/software/emacs/manual/html_mono/nxml-mode.html#Outlining


1
没有任何nxml命令起作用。相反,迷你缓冲区显示“不在节中”。 - Natan Yellin
6
@Natan,这是因为您的文档以及大多数文档都没有所需的结构,以使此功能正常工作(即使有结构,您也必须配置部分和标题元素的列表)。我认为这是 nxml-mode 简要概述的一个已知限制。 - harpo
4
好的,谢谢。我会翻译您的回答,并使其更加通俗易懂,但不会改变原意。请看下面需要翻译的内容:好的,谢谢。我已经点赞了你的回答,但我还想等待另一个解决方案,不要使用nxml-mode的大纲功能。 - Natan Yellin

4

2
如果你只需要编辑未指定的 XML,我建议使用web-mode而不是nxml-mode。它支持节点折叠。
Emacs似乎默认在nxml-mode中打开.xml文件。我猜nxml-mode适用于使用模式验证的XML操作。但是,如果你只想要使用方便的工具编辑一些未指定的XML,那么web-mode可能是一个更好的选择。
我在寻找后发现这个问题,所以我想分享一下。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接