寻找这段代码的正确cinoptions
可以设置什么cinoptions来获取如下所示的缩进块?寻找这段代码的正确cinoptions
f(int *p)
: a(p)
, b(0)
{
std::cerr << blah
<< foo << std::endl;
}
我得到的最接近是:
f(int* p)
: a(p)
, b(0)
{
std::cerr << blah
<< foo << std::endl;
}
这几乎是我想要的,只是:
之后,一切都缩进:)
对于这一点,我用:set cino=i0,+2
如何i0,+2,t0
? (tN
用于“函数返回类型声明”)。
这对我很有用,但是,我试过的vims(7.0和7.3)做了两件不同的事情,既不同于你的,也有i0,+2
。
看起来你只需要一个额外的选项。
集西诺= I0,+ 2,P0
此调整K个& [R风格缩进:我加入p0
到cinoptions
得到你所期望的结果。 From the docs:
pN Parameter declarations for K&R-style function declarations will
be indented N characters from the margin. (default
'shiftwidth').
cino= cino=p0 cino=p2s
func(a, b) func(a, b) func(a, b)
int a; int a; int a;
char b; char b; char b;
我用'set cino = i0,+ 2'和'set cino = i0,+ 2,p0'得到相同的输出。这可能与其他一些选择有关吗?我正在使用'set cindent','set expandtab'和'filetype indent on'。 – rturrado 2011-03-29 13:48:56
@rturrado:我没有看到你的报告的行为。当我使用你的选项(没有p0)时,我在第二行中得到一个缩进,并且当我添加p0时,它按照要求运行。你可以做':mkvimrc',确认'cinoption'的值是否正确,然后将你得到的设置粘贴到[pastebin](http://pastebin.com/)? – 2011-03-30 01:40:27
我创建了几个pastebins。第一个,使用':mkvimrc':http://pastebin.com/FMd3g6F8。其次,手动缩进文件并使用'set cino = i0,+ 2,p0':http://pastebin.com/iRLQbzuc – rturrado 2011-03-30 08:42:28
对我来说也是如此,Andy。最后使用'g0,+ 2,(2,i0,t0,:0'。 – rturrado 2011-04-01 08:28:42