在VIM中,如何突出显示用户定义的数据类型?

在VIM中,如何突出显示用户定义的数据类型?,vim,Vim,当我使用C语言时,使用typedef是非常常见的。 比如说, typedef struct man{ char *head; char *body; ... }MAN_t,*MAN_p_t; 我真的希望这里的MAN_t和MAN_p_t作为一种新的数据类型在vim中突出显示 怎么做这个 我在网上找不到可行的解决办法。 有人使用match Type/\w*\u t/但这将使任何变量以突出显示的_t结尾 我想知道是否有一种方法可以让vim在typedef struct…{…}

当我使用C语言时,使用typedef是非常常见的。 比如说,

typedef struct man{
    char *head;
    char *body;
    ...
}MAN_t,*MAN_p_t;
我真的希望这里的MAN_t和MAN_p_t作为一种新的数据类型在vim中突出显示

怎么做这个

我在网上找不到可行的解决办法。 有人使用match Type/\w*\u t/但这将使任何变量以突出显示的_t结尾

我想知道是否有一种方法可以让vim在typedef struct…{…}之后检测单词。 它的正则表达式是什么?

我将*f和*t突出显示为cType

只需将其添加到.vim/syntax/c.vim

syn match cType "\<[a-zA-Z_][a-zA-Z0-9_]*_[ft]\>" 

你可以找到我的vim配置文件来帮助我,非常感谢,这确实有帮助。但是你理解regex吗?@K.JIN是的,我理解得很好,\<和\>匹配单词边界,单词应该以字母开头,可以有字母和数字,并且必须以-u\t结尾
syn match cType "\<[a-zA-Z_][a-zA-Z0-9_]*_[t]\>"