Emacs通过xml-mode和nxml-mode提供良好XML编辑支持,含语法高亮、缩进、格式化、校验与补全;推荐启用nxml-mode,集成xmllint实现验证,并用sgml-pretty-print或xmllint --format美化代码。

Emacs 对 XML 编辑支持良好,配合内置和少量扩展即可实现语法高亮、缩进、格式化、校验与补全。关键在于合理配置 major mode 和验证工具链。
Emacs 自带 xml-mode,打开 .xml 文件会自动激活。它提供基本的标签匹配、缩进和括号高亮。可添加以下设置提升可用性:
electric-indent-mode(默认开启),让回车和 自动缩进
show-paren-mode,快速定位匹配的开始/结束标签(setq xml-sexp-element-name-face 'font-lock-function-name-face) 让标签名更醒目C-c C-o(xml-toggle-xml-declaration)快速插入或删除 XML 声明nxml-mode 是更现代、功能更强的 XML 模式(包含在 GNU Emacs 22+ 中),支持 RELAX NG 验证、结构导航和实时错误提示:
.emacs 或 init.el 中加入:(add-to-list 'auto-insert-alist '(xml . "XML skeleton"))(add-to-list 'auto-insert-alist '(nxml . "XML skeleton"))
.xml 关联到 nxml-mode:(add-to-list 'auto-insert-alist '(xml . "XML skeleton"))(add-to-list 'auto-insert-alist '(nxml . "XML skeleton"))(add-to-list 'auto-insert-alist '(xml . "XML skeleton"))(add-to-list 'auto-insert-alist '(nxml . "XML skeleton"))
C-c C-s 查看当前光标所在元素的完整路径,C-c C-r 重命名标签,C-c C-e 关闭当前标签Emacs 本身不内建 XML Schema 验证,但可通过 flycheck 或 compile 调用 xmllint 实现即时校验:
如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld
0
xmllint(libxml2-utils 包,Linux;macOS 可用 brew install libxml2)flycheck:用 package-install 安装,然后在配置中启用:(add-hook 'nxml-mode-hook 'flycheck-mode)
flycheck 使用 xmllint:(flycheck-add-verifier 'xml-xmllint<br>
:command ("xmllint" "--noout" "--schema" source "source")<br>
:error-patterns ((error line-start (file-name) ":" line ":" column ": " (message) line-end)))(flycheck-select-checker 'xml-xmllint)
xmllint --noout your-file.xml —— 错误会直接显示在 *Compile* 缓冲区XML 手动排版易出错,推荐自动化处理:
nxml-mode 中,选中区域后执行 C-c C-r(nxml-refine-region)可按模式规则重新缩进sgml-pretty-print(适用于 xml-mode 和 nxml-mode),对整个缓冲区重排版M-! xmllint --format -,然后粘贴内容或标记区域后执行,输出即为美化结果(define-key nxml-mode-map (kbd "C-c f") 'nxml-formatter)nxml-formatter 是自定义函数,封装 xmllint --format 调用不复杂但容易忽略:验证前确认文件编码为 UTF-8,且声明一致(如 <?xml version="1.0" encoding="UTF-8"?>),否则 xmllint 可能报编码错误。
以上就是如何在Emacs中编辑和验证XML的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号