Ça fait longtemps que je ne suis pas satisfait d'un truc avec la coloration syntaxique du C dans vim. La coloration des types est basée sur la reconnaissance de mots clés (int, unsigned, uint32_t, …) et par conséquent elle ne fonctionne pas pour les types définis par l'utilisateur qui ne sont pas dans cette liste.
Il y a quelques années, un collègue qui avait le même problème m'a donné une copie de son fichier de syntaxe modifié pour corriger ça (…)