在'if','for','while'之后,Vim autoindent的工作方式与我的预期不同;我怎样才能让它按照我想要的方式工作?

时间:2011-12-08 01:57:01

标签: vim auto-indent

我在.vimrc文件set autoindent中启用了自动缩进功能,该文件会移动到上一个缩进内(是光标位置)

while (! skynet.selfAware()){
    DARPA.funding++;█
}

按回车/回车将产生

while (! skynet.selfAware()){
    DARPA.funding++;
    █
}

但有没有什么方法可以让vim足够聪明地意识到需要一个新的缩进,从这个开始

while (! skynet.selfAware()){█
}

按回车键/回车将产生

while (! skynet.selfAware()){
    █
}

而不是

while (! skynet.selfAware()){
█
}

2 个答案:

答案 0 :(得分:6)

而不是autoindent,请使用smartindent。它完全符合您的要求。

答案 1 :(得分:0)

您可以尝试启用cindent。有很多选项可用于控制其工作方式,请参阅:help cinoptions-values