2009-12-29 76 views
4

我正在使用vim 7.0。vim - C++構造函數初始化列表問題的縮進問題

我想下面的代碼如下方式縮進(在相同的縮進構造函數初始化列表):

A::A() : 
    a1(10), 
    a2(10), 
    a3(10) 
    { 
    } 

根據vim的幫助,這可以通過設置來完成:

set cino+=i0 

但是此設置的產率(僅A1是正確地縮進):

A::A() : 
a1(10), 
    a2(10), 
    a3(10) 
{ 
} 

設置西諾+ =我1使用1個空格縮進正確縮進a1..a3。

+0

我看到與EMACS完全相同的問題。 – vy32 2010-11-27 14:05:07

回答

3

根據documentation和一個小實驗,下面可以幫助:

:set cino=i-s 

似乎被縮進初始化列表完全按照你想要的。

0

你有沒有試過「設置smartindent」?我認爲它是做你想做的。

+0

你有什麼線索我設置它? – dimba 2009-12-29 11:51:20

+0

你的意思是你想要cindent,並設置選項來獲得第一個代碼塊的效果? 我只是表示所有的默認設置,(沒有「設置cino + = i0」),「設置smartindent」完全一樣,縮進第一個代碼塊。 – 2010-01-12 06:06:51

1

試試這個。基本上我有一個快速發揮與cino選項。不知道它是否會影響您的其他任何格式設置,但對我來說看起來還不錯。

:set cino=i0,n0,+0 
1

看起來這是在VIM一個真正的錯誤,因爲cino=i1做正確的事,但cino=i0沒有。 :help bugs有關如何從這裏做的信息。