阳光烂灿的日子

--记录所有碎碎念

Vim技巧之语法高亮加强

| Comments

在用vim编写C或者C++程序时知道有语法高亮这回事吧。关键字,数字,宏定义,注释等都有
各自不同的颜色。这利于程序的美观与阅读。

在某些时候我们会有需要对一些特定的字词也显示出不同的颜色。使程序更利于我们阅读。如在写GTK+的
程序时,我们也许想令 gint , gpointer , gchar 这些变量也成为关键字的颜色。甚至GtkWidget也能变一变颜色。

那我们开始做之前也说明一些东西。本文不对语法加亮做过深的探讨。只达到前面的需求目的。更多的知识
可以参考vim的使用手册。 语法高亮对于语言是有针对性的。定义各种语言的语法高亮文件放在系统vim目录的
syntax里,在ubuntu中是 /usr/share/vim/vim70/syntax 目录。 c.vim 是定义C语言语法高亮的文件。

我们要做的是增加语法高亮的关键字而已。因此可以在家目录下面的 .vim目录下面建立syntax目录。(如
已经有则不用再建立) 在此目录下新建文件c.vim 。文件输入以下内容:

"Vim syntax file
"Language: C/GTK+
" Maintainer: lerosua
" Last Change: 2006 Nov 9
" Remark: Included by the C syntax.

if exists("b:current_syntax")
finish
endif

syn keyword gType gint gpointer gchar gboolean GList GSList
syn keyword gType GtkWidget GladeXML
syn keyword Constant argc argv

hi def link gType Type syn行之前属于脚本的检测,不需要理会。syn行开始定义自己的关键字。前两行关键字类型定义为gType ,这
个类型也是自定义的,在最后一行,会将gType类型链接到Type类型上面,就是说,gType类型的关键字最
后显示的颜色是和Type一样的。在第三行syn,我定义argc argv为常量类型Constant,最后argc 和 argv 显
示成与数字一种颜色。

vim预定义好的高亮的类型的组有以下:

(此段摘自的碎碎念博客的高亮::vim进阶索引。他的博文对高亮做了详细的解释。有意深入了解请参考)

对应了上面几种颜色的组。相信大家也已经会把自己需要的单词定义成相应的颜色了吧。很简单的。
如果是C++的关键字则只需要建立~/.vim/syntax/cpp.vim文件。里面一样输入上面的内容,定义你需要
的关键字则可。

Comments