首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义emacs nxml缩进

自定义emacs nxml缩进
EN

Stack Overflow用户
提问于 2012-06-21 23:22:27
回答 2查看 437关注 0票数 1

在过去的3年里,我的工作需要编写和编辑xml格式的配置文件。xml标记中的内容已经发生了很大的变化,现在它已经变成了一种编程语言。不幸的是,emacs将标记中的所有内容缩进到同一级别。如下所示:

但是,如果我可以像下面这样缩进内容,那就太棒了:

我已经阅读了几个与自定义缩进相关的线程,但我仍然不知道如何做。

我试图创建一个自定义的主模式,但这样做会杀死所有的语法颜色和缩进规则。理想情况下,我想要做的就是修改nxml市长模式缩进规则?尽管如此,我还是不知道这些规则在哪里。

另外,如果我能给一些关键字上色,比如“if”或“set”,那就更好了。

我知道我所要求的是一项艰巨的任务,所以我在这里并不要求一个明确的答案。我只是在寻找一些帮助来指引我正确的方向。

EN

回答 2

Stack Overflow用户

发布于 2012-06-21 23:37:21

最好的方法可能是为标记中的语言编写一个新的主模式,然后使用a multiple major modes package,它允许在同一文件中有多个主模式,因此所包含的语言可以有自己的主模式。

票数 2
EN

Stack Overflow用户

发布于 2012-06-24 03:34:32

你可能想看看这个例子。

代码语言:javascript
复制
(defun nxml-extra-space-indent ()
  (nxml-indent-line)
  (when (zerop (current-indentation))
    (indent-line-to 4)))
(setq indent-line-function 'nxml-extra-space-indent)

我根据现有的主模式进行缩进,如果行与特定条件匹配,则自定义缩进。

我认为这是定制缩进的最简单的方法,因为你是从现有的东西开始的,并且你不需要知道特定模式的缩进逻辑是如何实现的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11141426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档