• 订阅

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

  • 功能

  • 标签

    blog evmaker festival Fvwm gloobus GMChess gmitter GMLive gtkmm iCalk iTalk M8 ppstream program sdcv soft talkmm twitter vim 不折腾 中国象棋 价值 健身 北漂 回忆 小说 幼稚的思想 影评 感想 手机 推倒 旅游 朝花夕拾 生活 电影评论 社会 社会事件 笔记本 网络 美剧 言论自由 过年 随想 黑客 黑客小说
  • « | 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 上午

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

    Comments