2012-02-29 87 views
1

我已经搜索了高和低的答案这个问题,并没有运气。我从集成开发环境转移到使用VIM。 (我也很高兴!)我的大部分代码都是用C编写的。VIM CINO没有按预期工作

我似乎无法让我的cindent选项正常工作。我希望我的缩进级别设置为4个空格,但不管我做什么,我都会得到8个空格。

我试过了许多不同的选项,但没有成功。这里是我相信的是我的.vimrc中的适用设置:

" Set options for c program formatting 
set cindent 
set tabstop=4 
set expandtab 
set softtabstop=4 
set shiftwidth=4 
set smartindent 
set cino=>4,e4,n4,^4,:4,=4 
set colorcolumn=81 

对我可能会做错什么的想法? (如果它很重要,我使用的其他插件是crefvim,c.vim,minibufexplorer和cscope_maps)。

感谢您的帮助。

回答

0

我想你已经误解了各种C缩进选项的用途。在某些情况下,几乎所有可以在cino上设置的用于修改缩进的值在vim manual中都被描述为“将N添加到现行的缩进”。 (Emphasis mine)

你得到8个空格缩进,因为你告诉vim你想要4个空格的标准缩进(通过:set sw=4)然后,例如,你告诉cindent你需要另外4个空格出现在第一列中的任何牙套内部的凹痕空间(通过:set cino=^4)。

我把你的设置,减去cino位,装入一个干净的vim。之后,我得到了普通的香草,四格缩进的C格式。

+0

谢谢Lief,你绝对正确。我评论了cino选项,它工作得很好。我一定已经阅读过vim手册十几遍了,*仍然没有理解。 ......我认为自己是受过教育的人。再次感谢你。 – THV 2012-02-29 05:55:34

+0

@ipersuade很高兴能帮到你。快乐的眩晕! – 2012-02-29 06:46:07

+0

@ipersuade如果您认为我回答了您的问题,您是否愿意将我的答案标记为解决了您的问题? – 2012-03-01 19:32:23