VIM C/C++函数名,宏定义和变量的高亮 之前写qt的时候用过一段时间的Qtcreator,后来自己用vim写程序的时候才发现vim本身对于函数,用户自定义的结构,变量,还有宏定义是没有高亮的。网上百度了一下好像也没有相关的插件 。 (后来才知道有taghighlight这个插件orz) 于是打算自己写一个能够实现上述高亮的东西。使用了ctags+python 正则表达匹配+vim的高亮文件 ,成果如下。 上图有些glfw的tag还没加进去因此还是原来的普通颜色。 ctags 生成的tag文件似乎并不会记录用户自己定义的局部变量,但是全局变量会记录。因此这个方案应该只能够高亮全局的变量。 实现的思路很简单,vim没有支持变量名和函数的高亮根本原因是vim自身没有对c++语法的检测,它的高亮靠的是syntax文件夹下面.vim脚本,如果你打开里面的cpp.vim查看的话,就会发现vim只对cpp的一些关键字和不涉及到语法的部分进行一些正则匹配。我们编辑cpp文件的时候vim匹配到上面的某一个规则便对其进行相应的高亮操作。 那么我们要对自己写的变量进行高亮,最简单的方法就是利用vim的脚本语言。比如我想对c语言的printf 和puts进行高亮只需要在普通模式下输入 :syn keyword CPrintf printf puts