首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Vim缩进xml文件

Vim缩进xml文件
EN

Stack Overflow用户
提问于 2014-01-28 22:25:31
回答 5查看 69.9K关注 0票数 111

我正在学习Vim,但我认为这是一项简单的任务,但我无法让它工作。我有浏览器,但解决方案对我不起作用。

我正在尝试正确地缩进一个文件(xml)。我使用的命令是:

代码语言:javascript
复制
gg=G 

或者ggVG= (我自己编的这个可能做了一些不同的事情;)

我的.vimrc是:

代码语言:javascript
复制
syntax on 
filetype plugin indent on 
set nu 
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-30 02:27:43

我喜欢Berei的回答。但是,我认为下面的方法更灵活一些,因为您不必更改vimrc文件。另外,格式化XML文件的选定部分更容易(这是我经常做的事情)。

首先,突出显示要格式化的XML。

然后,在正常模式下,键入! xmllint --format -

您在底部的命令行将如下所示:

:'<,'>!xmllint --format -

然后按enter键。

技术说明

选定的文本被发送到xmllint命令,然后是--format'ed,xmllint的结果放在vim中的选定文本上。命令末尾的-用于接收标准输入-在本例中,标准输入是vim发送到xmllint的选定文本。

票数 218
EN

Stack Overflow用户

发布于 2014-01-28 22:41:33

使用外部程序缩进您的xml文件。在本例中,我选择了xmllint,因此将命令设置为equalprg选项:

代码语言:javascript
复制
:set equalprg=xmllint\ --format\ -

现在你可以执行

代码语言:javascript
复制
gg=G

若要让xmllint格式化xml文件,请执行以下操作。

要在每次使用vim时获取它,请使用autocommand来设置它。

来自下面评论的autocommand

代码语言:javascript
复制
au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null
票数 71
EN

Stack Overflow用户

发布于 2015-06-06 04:30:24

只要正确设置~/.vimrc,就很容易做到这一点。

在~/.vimrc中设置以下选项:

代码语言:javascript
复制
filetype indent on
set smartindent

这允许您将光标移动到文件的顶部并缩进到末尾: gg=G

您还可以使用视觉模式选择所需的文本,然后按=缩进它。

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

https://stackoverflow.com/questions/21408222

复制
相关文章

相似问题

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