2012-02-29 93 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