gri*_*ime 11 xml vim shortcuts indentation
我有一个格式正确的xml文件,并按照给出的命令作为答案:
我试图自动缩进我的文件以显示正确的嵌套.
在我尝试使用此命令之前,我将文件类型设置为xml,:set ft=xml
因为我启动的文件具有扩展名.mm
,并且也是:set nowrap
.
这是我的〜/ .vimrc文件:
syntax on
set history=1000
set smartindent
set tabstop=2
set shiftwidth=2
set expandtab
Run Code Online (Sandbox Code Playgroud)
为什么我发布时gg=G
,我收到一条消息说54 lines indented
,但我的文件仍未嵌套?
Dav*_*Lam 19
如果你想尝试Vim自己的XML压头,你可以......
:filetype indent on (load indent files for specific file types etc.)
:e (to reload the current buffer)
Run Code Online (Sandbox Code Playgroud)
这将在$ VIMRUNTIME/indent/xml.vim加载vimscript
然后当你这样做
:set indentexpr?
Run Code Online (Sandbox Code Playgroud)
...它会说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>
Run Code Online (Sandbox Code Playgroud)
尝试输入::set equalprg?
.如果它说它equalprg=
意味着你没有为xml缩进设置程序,那么它可能正在做一些哑默认操作.以下是将xmllint设置为格式化程序的指南:http://ku1ik.com/2011/09/08/formatting-xml-in-vim-with-indent-command.html