VIM格式化使用GG = G与XML(Vim formatting using gg=G with

2019-07-30 14:51发布

我有一个正确格式的XML文件,并给出如下答案命令如下:

我怎样才能自动套用格式在VIM /缩进C代码?

我想自动缩进我的文件,以显示正确的嵌套。

之前,我试图用这个命令我设置文件类型使用为xml :set ft=xml ,因为我开始与文件具有的扩展.mm ,也:set nowrap

这里是我的〜/ .vimrc文件:

syntax on
set history=1000
set smartindent
set tabstop=2
set shiftwidth=2
set expandtab

为什么当我发出gg=G ,我得到一个消息,说54 lines indented ,但我的文件保持不嵌套?

Answer 1:

如果你想尝试Vim的自己的XML压头的事情,你可以...

:filetype indent on         (load indent files for specific file types etc.)
:e                          (to reload the current buffer)

这将加载的Vimscript在$ VIMRUNTIME /缩进/ xml.vim

那么当你做

:set indentexpr?        

...它会说indentexpr = XmlIndentGet(V:lnum缓冲区里,1)

~~

xmllint是更好不过,看... http://vim.wikia.com/wiki/VimTip349

我有方便的按键绑定这样它在我的vimrc!

" one or more lines:
vmap ,px !xmllint --format -<CR>

" pretty-print current line
nmap ,px !!xmllint --format -<CR>


Answer 2:

尝试键入: :set equalprg? 。 如果说equalprg=这意味着你没有一个程序对XML的缩进设置,所以它可能做一些愚蠢的默认操作。 下面是设置xmllint为您格式化指南: http://ku1ik.com/2011/09/08/formatting-xml-in-vim-with-indent-command.html



文章来源: Vim formatting using gg=G with xml