2011-03-24 11 views
8

¿Qué cinopciones puedo configurar para obtener el siguiente sangrado del bloque como se muestra?Buscando las cinopciones correctas para esta pieza de código

f(int *p) 
: a(p) 
, b(0) 
{ 
    std::cerr << blah 
    << foo << std::endl; 
} 

El más cercano que tengo era:

f(int* p) 
    : a(p) 
    , b(0) 
    { 
    std::cerr << blah 
     << foo << std::endl; 
    } 

que es casi lo que quiero, solo que todo lo que después se sangra : :)
Para ello, he utilizado: set cino=i0,+2

Respuesta

1

¿Qué tal i0,+2,t0? (tN es para "una declaración de tipo de retorno de función").

Eso funcionó para mí, pero las vims que probé (7.0 y 7.3) hicieron dos cosas diferentes, ninguna igual a la suya, con i0,+2.

+1

Eso funcionó para mí también, Andy. Finalmente usando 'g0, + 2, (2, i0, t0,: 0'. – rturrado

1

Parece que solo necesita una opción adicional. Me dieron los resultados esperados mediante la adición de p0 a la cinoptions:

conjunto Cino = i0, + 2, p0

Ajusta el K & muesca estilo R. 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; 
+0

Obtengo la misma salida con 'set cino = i0, + 2' y con' set cino = i0, + 2, p0'. ¿Puede ser que esto tenga que ver con algunas otras opciones? Estoy usando 'set cindent',' set expandtab', y 'filetype indent on'. – rturrado

+0

@rturrado: No estoy viendo el comportamiento de su informe. Cuando uso su opción (sin p0) obtengo una sangría en las segundas dos líneas, y cuando agrego el p0, se comporta como se solicita. ¿Podría hacer ': mkvimrc', confirmar que el valor' cinoption' es correcto y luego pegar los ajustes que obtiene en un [pastebin] (http://pastebin.com/)? –

+0

He creado un par de pastebins. Primero, con ': mkvimrc': http://pastebin.com/FMd3g6F8. Segundo, con el archivo sangrado manualmente y con 'set cino = i0, + 2, p0': http://pastebin.com/iRLQbzuc – rturrado

Cuestiones relacionadas