Как выделить пользовательский тип данных в VIM? - PullRequest
0 голосов
/ 14 февраля 2019

когда я использовал язык C, очень часто используется typedef.например,

typedef struct man{
    char *head;
    char *body;
    ...
}MAN_t,*MAN_p_t;

Я действительно хочу, чтобы MAN_t и MAN_p_t здесь были выделены в vim как новый тип данных.

Как это сделать?

Я не могу найти подходящее решение онлайн.Кто-то использует match Type /\w*_t/, но любая переменная, оканчивающаяся на _t, будет выделена.

Интересно, есть ли способ позволить vim обнаружить слово после typedef struct ...{...}.Что это за регулярное выражение?

1 Ответ

0 голосов
/ 14 февраля 2019

У меня *_f и *_t выделены как cType.

Просто добавьте это в .vim / syntax / c.vim

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

Если вы просто хотите *_t

syn match cType "\<[a-zA-Z_][a-zA-Z0-9_]*_[t]\>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...