¿Sangrado VIM para plantillas de C ++?
¿Alguien tiene o sabe sobre vim plugin / macro / function que sangra muy bien las plantillas de c ++?
Cuando destaco la definición de plantilla en el archivo vim .hpp / .h y la sangro con '=' obtengo algo como esto:
> template <
> class TFilter,
> class TParser,
> class TConsumer,
> class TDataProcessor,
> class TDataFeed,
> class TSymbolMap
> >
> struct DataFeedTraits
> {
> typedef TFilter Filter;
> typedef TParser<TSymbolMap> Parser;
> typedef TConsumer<Parser> Consumer;
> typedef TDataProcessor<Filter,Consumer> DataProcessor;
> typedef TDataFeed<Filter,DataProcessor,Parser,Ccnsumer> DataFeed;
> };
Creo que el cindent alinea la declaración de estructura / clase con el corchete de cierre '>'. Me gustaría terminar con algo como esto, o similar, el formato exacto no importa, siempre que esté formateado:
template <
class TFilter,
class TParser,
class TConsumer,
class TDataProcessor,
class TDataFeed,
class TSymbolMap
>
struct DataFeedTraits
{
typedef TFilter Filter;
typedef TParser<TSymbolMap> Parser;
typedef TConsumer<Parser> Consumer;
typedef TDataProcessor<Filter,Consumer> DataProcessor;
typedef TDataFeed<Filter,DataProcessor,Parser,Ccnsumer> DataFeed;
};