8
votes

VIM Indents C / C ++ fonctionne mal lorsque le type et le nom sont dans différentes lignes

Les extraits de code suivants expliquent bien mon problème.

Ce que je veux: xxx

ce que je reçois (remarquez la sur-indentation avant le nom de la fonction): < / p> xxx

j'ai définir le plug-in fichier plug-in fichier sur dans mon ~ / .vimrc .

i ont regardé Ce message mais la réponse à qui semble apprendre un nouveau langage de programmation. Je suis un fan vim, mais pas un expert Vim. N'y a-t-il pas une solution plus simple?


3 Réponses :


0
votes

Vous pouvez essayer ces options de tiret dans .VIMRC:
"Indent automatique
Set AI
"Indentit intelligent
SET SI
"Indent de style C
Définir Cindent


0 commentaires

11
votes

Ce que vous voyez est l'effet de cino-t (réglage des cinographies t). Vous devez vous assurer que les connectes contiennent t0 pour rendre le paramètre rincer avec la marge gauche

à partir de : h cino-t xxx

Pour ce faire, vous devez vous assurer qu'il est défini pour le type de fichier CPP. ( Cindent est activé par le fichier d'indent CPP par défaut)

Je pense simplement ajouter SET CINOPTIONS + = T0 à votre VIMRC devrait être suffisant.


1 commentaires

Oui, je l'ai compris et je viens de poster la réponse moi-même qui était presque la même que celle-ci. : p



1
votes

Tout comme j'ai deviné, cela a eu une solution assez simple! Après avoir motivé moi-même pour lire le : aidez 'Valeurs de cinoptions' code>, la configuration suivante était tout ce qui est nécessaire pour résoudre ce problème particulier.

tN    Indent a function return type declaration N characters from the
      margin.  (default 'shiftwidth').

        cino=               cino=t0             cino=t7
              int             int                        int
          func()              func()              func()


0 commentaires