• Lerosua on Twitter

    t
  • 订阅

    抓虾
    google reader
    bloglines
    鲜果
  • 分类目录

  • 功能

  • « | Main | »

    vim技巧之语法高亮加强

    By lerosua | 十一月 9, 2006

    在用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文件。里面一样输入上面的内容,定义你需要
    的关键字则可。

    Topics: 未分类 | 3 Comments »

    3 Responses to “vim技巧之语法高亮加强”

    1. zlbruce Says:
      十一月 9th, 2006 at 11:26 下午

      呵呵,你也看碎碎念啊,我也收藏了,不过还没怎么看 :)

    2. zlbruce Says:
      十一月 9th, 2006 at 11:27 下午

      你那个“Error 语法错误”的颜色和背景一样。。。

    3. lerosua Says:
      十一月 10th, 2006 at 12:04 上午

      更改成图片,这样没上面的问题了。
      代码中的引号需要改成英文状态下的 引号。