Vim/GVim格式化xml文件

From: http://yaven.iteye.com/blog/1084044

今天找了很久关于在VIM中格式化xml的插件都没找到,后来才发现其实不用装插件,在linux环境中使用xmllint就可以实现对xml文件的格式化功能。
1,安装libxml2。
Libxml2 是一个xml的c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、 Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的。具体的介绍请参考 http://xmlsoft.org/。
安装时使用apt-get命令安装即可。
2,使用xmllint命令格式化xml文件
在终端执行

xmllint –format build.xml

即可输出格式化后的xml文件。

在VI中可以配置.vimrc来设置格式化的快捷键。

map :silent 1,$!xmllint –format –recover – 2>/dev/null

这样在重新启动vim时就可以用F2快捷键来对xml文件进行格式化了。


=======================================================================

From: http://www.4ucode.com/Study/Topic/1852341

Windows下使用gvim格式化xml文件

1. 下载xmllint.exe

http://code.google.com/p/xmllint/downloads/list

下载后,将xmllint.exe配置到PATH中。

2. 配置_vimrc文件

Windows下"_vimrc"文件默认保存在gvim安装根目录下。

在最后添加

au FileType xml exe ":silent 1,$!xmllint \"%\" --format --recover"

这行表示使用xmllint打开xml文件。

注意:

1) 如果xmllint.exe没有加入PATH,$!后必须写绝对路径。

2) %代表xml文件全路经名称,如果不使用引号引起来,当路经含有空格时会产生错误。

3. 完成

打开xml文件后,格式化完毕!

xmllint参考

http://vim.wikia.com/wiki/Format_your_xml_document_using_xmllint




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pythonsys标准_python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出...

标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入(sys.stdin)则对应input(接收输入)操作,标准错误输出和标准输出类似也是print(打印)。python最基本的操作 - 打印:print其效果是把 1 写在console(命令行)里面让你看。实际上他的操…

用 VNC 远程图形化登录 Linux (VNC 全屏显示)

From: http://www.cnblogs.com/cy163/archive/2007/05/23/757625.html VNC简介』 网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操…

金山毒霸的云查杀很牛X

金山毒霸的云查杀很牛X无论安装包大小、资源占用率、查杀率、还是新病毒反应速度(秒级对比),牛X!听说,金山毒霸2011-增加了免费服务时间!以后是否也会全免费?既然免费了,就试试吧!下…

提示:不建议在没有为偏离分支指定合并策略时执行 pull 操作。 您可以在执行下一次

提示:不建议在没有为偏离分支指定合并策略时执行 pull 操作。 您可以在执行下一次

python中空位符_python中空位符_Python之路 - Python - 字符编码 - 期权论坛

字符编码python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言&…

Linux内核初探3

1.内核的任务 内核:充当底层的驱动程序,应用程序只与内核有联系,内核是应用程序的所知道的层次结构中最底层的,也是资源管理程序,也是一种库,提供了一组面向系统的命令。 2.实现策略 微内核(中央内核&#…

ar 和 nm 用法

From: http://blog.chinaunix.net/space.php?uid7685522&doblog&id2045788 当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发…

warning.js:7 Warning: [antdv: Table] Each record in dataSource of table should have a unique `key`

warning.js:7 Warning: [antdv: Table] Each record in dataSource of table should have a unique key

python爬虫爬汽车图片_Python快速爬取车标网图片,以后不要说这什么车你不认识了!...

知识不分边界......人,为什么要读书?举个例子:当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”;当你失恋时你低吟浅唱道:“人生若只如初见&…

在webservice中传递Hashtable

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> webservice中不支持hashtable的数据类型&#xff0c;那么如何在webservice中传递hashtable呢&#xff1f;我们可以通过将hashtable转化为webservice中支持的数组的类型来进行传递&am…

Vue中生成二维码的一种方式—vue-qr

Vue中生成二维码的一种方式—vue-qr vue实现二维码生成&#xff08;vue vue-qr&#xff09;

华为命令全

史上最全华为路由器交换机配置命令大合集 http://network.51cto.com 2010-01-12 09:03 佚名 天极 我要评论(11) 华为路由器交换机配置命令是大家使用时经常遇到的&#xff0c;顾名思义关于交换机的计算机命令&#xff0c;路由器命令&#xff0c;交换机命令和动静态命令都将…

电化学仿真的基础知识笔记

1 概述 电化学反应是一种特殊的化学反应&#xff0c;其能量转移形式为化学能和电能之间互相转换。根据能量转换方向&#xff0c;可分为两类&#xff1a; 原电池&#xff08;Galvanic cells&#xff09;&#xff1a;将化学能转化为电能&#xff0c;对外放电电解槽&#xff08;…

mysql以秒为单位限制资源_MYSQL中限制资源的使用

今天看到手册&#xff0c;不小心看到了这里&#xff0c;自己做了几个例子。从MYSQL4.x开始&#xff0c;MYSQL就增加了以每个用户为基础&#xff0c;限制MYSQL服务器的资源利用。自己查看MYSQL.USER 表就会发现里面最后几个字段&#xff1a;mysql> select version();--------…

[Linux C]利用libxml2解析xml文件

为了解析xml&#xff0c;可以使用Linux下默认安装的libxml2。 /*a.c功能&#xff1a;利用libxml2解析xml文件 */#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <libgen.h> #include <libxml/xml…

nginx: [error] open() “/usr/local/var/run/nginx.pid“ failed (2: No such file or directory)

nginx: [error] open() “/usr/local/var/run/nginx.pid” failed (2: No such file or directory)