当我编辑HTML时,我有时喜欢按如下方式排列属性声明:
<li class="dropdown"
ui-route="..."
ng-class="{active: $uiRoute}">
</li>
但是,当我在我的示例第2行的末尾并且我输入换行符时,vim似乎将第2行的缩进更正为第1行。这里有一个GIF,它正在发生:
我已启用autoindent
但禁用它似乎没有帮助。
我可以告诉vim停止这样做吗?
答案 0 :(得分:2)
这是因为您已设置filetype indent on
并且已加载缩进文件:xml.vim
。
如果您将文件重命名为foo.vim.txt
和vim foo.vim.txt
,则按Enter键时不会自动调整缩进。
更详细的信息:
在你$VIMRUNTIME/indent/xml.vim
中,您可以找到:
setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,}
也就是说,当您在<Return>
文件中按xml
时,会触发缩进调整。请阅读:h indentkeys
了解详情。
如果您不希望在按<enter>
时让vim重新缩进行,您可以尝试setlocal indentkeys -=*<Return>
。如果您只希望它发生在某个文件类型上,即xml
,您可以创建自动命令。
希望它有所帮助。
html
文件,它是一样的。您可以查看$VIMRUNTIME/indent/html.vim
,您也会在列表中看到<Enter>
。