emacs nxml-mode中的折叠标签

Posted

技术标签:

【中文标题】emacs nxml-mode中的折叠标签【英文标题】:Folding tags in emacs nxml-mode 【发布时间】:2011-09-21 02:01:00 【问题描述】:

互联网上充满了在 Glorious Emacs 编辑器中折叠代码的古老学说。其中有 fold.el、outline-minor-mode 和 fold-dwim.el。唉,我可怜的未开化的头脑无法编写必要的 elisp 配置。

请在 nxml 模式下帮助一个凡人折叠标签,最好使用 TAB。如果相关,我会使用 viper 和 vimpulse。

【问题讨论】:

【参考方案1】:

它在 nxml-mode 中称为大纲,在 nxml-mode 文档的第 5 节中。哪个开始...

5 大纲


nXML 模式允许您显示所有或 缓冲区的一部分作为轮廓,在 类似于 Emacs 的大纲模式。 nXML 模式下的大纲基于 识别两种元素: 部分和标题。有一个 每个部分的标题和一个 每个标题的部分。一节 包含其标题作为或在其内 第一个子元素。还有一节 包含其下属部分(其 小节)。 a的文本内容 部分由 a 中的任何内容组成 既不是小节的节 也没有标题。

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

【讨论】:

所有 nxml 命令都不起作用。相反,迷你缓冲区显示“不在部分中” @Natan,那是因为您的文档,像大多数文档一样,没有工作所需的结构(即使有,您也必须配置部分和标题的列表元素)。我认为这是对 nxml 模式大纲有用性的一个众所周知的限制。 好的,谢谢。我赞成你的回答,但我将等待另一个不涉及 nxml-mode 大纲的解决方案。【参考方案2】:

终于有答案了 https://emacs.stackexchange.com/questions/2884/the-old-how-to-fold-xml-question,使用hideshow

如果 emacs.stackexchange 退出测试阶段,这个问题可能会过时。

【讨论】:

【参考方案3】:

如果你只需要编辑未指定的xml,我建议使用web-mode而不是nxml-mode。支持节点折叠。

默认情况下,Emacs 似乎在nxml-mode 中打开.xml 文件。我猜nxml-mode 是useful for working with xml validated against a schema。不过,如果你只是想用方便的工具编辑一些未指定的xml,看来web-mode可能是更好的选择。

我发现这个问题正在寻找解决后者的方法,所以我想我会分享。

【讨论】:

以上是关于emacs nxml-mode中的折叠标签的主要内容,如果未能解决你的问题,请参考以下文章

为啥emacs中没有代码折叠?

emacs模块——hideshow 代码折叠

Emacs中如何实现代码折叠效果?

Emacs 大纲模式在 grep 上自动扩展

Emacs Org-mode 2 文档结构

当标签的文本为零时,如何轻松折叠标签周围的垂直空间?