我有一个格式正确的xml文件,并按照下面的命令回答:
How can I autoformat/indent C code in vim?
我正在尝试自动缩进我的文件以显示正确的嵌套。
在尝试使用此命令之前,我使用:set ft=xml将文件类型设置为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,而我的文件仍然是未嵌套的?
发布于 2012-07-26 09:14:01
如果您想尝试Vim自己的XML缩进功能,您可以...
:filetype indent on (load indent files for specific file types etc.)
:e (to reload the current buffer)这将加载位于$VIMRUNTIME/indent/xml.vim的vimscript
然后当你这样做的时候
: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>发布于 2012-07-26 02:02:24
尝试输入::set equalprg?。如果它显示为equalprg=,这意味着您没有为可扩展标示语言缩进设置程序,所以它可能正在执行一些愚蠢的默认操作。下面是将xmllint设置为您的格式化程序的指南:http://ku1ik.com/2011/09/08/formatting-xml-in-vim-with-indent-command.html
https://stackoverflow.com/questions/11655383
复制相似问题