我如何教vim有关语法高亮的其他C语言类型?

Jen*_*ens 6 c vim types vim-syntax-highlighting

语法高亮工程顺顺当当美丽的标准类型,如int,uint32_t,float等等.但是,我想教vim在我的代码中使用typedef定义的其他类型,例如

typedef double float64_t;
Run Code Online (Sandbox Code Playgroud)

如何让vim使用与float64_t标准类型相同的突出显示?具有本地文件(例如,在我的~/.vimrc.vim目录中)的解决方案将是优选的.自动解析typedef名称不是必需的,我愿意根据需要添加typedef名称.

A.E*_*rew 5

这是一种根据需要添加名称的方法。

对于 Windows,创建(vimfiles根据需要替换)

~\vimfiles\after\syntax\c.vim
Run Code Online (Sandbox Code Playgroud)

并添加定义新语法突出显示项的行。例如(来自我的cpp.vim),

" add nullptr as a keyword for highlighting
syn keyword Constant nullptr
Run Code Online (Sandbox Code Playgroud)

要确定要添加到哪个组,请打开 ac 文件并键入,:syntax然后您可以查看现有的语法组。


Jen*_*ens 5

我还发现我们可以使用该match命令来覆盖由模式描述的一组 typedef 名称:

match Type /\w*_t/
Run Code Online (Sandbox Code Playgroud)

将所有以 typedef 结尾的名称突出显示为一个类型_t(但会在任何地方这样做,即使在注释和字符串文字中也是如此。)