Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1222217
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: LINUX

2012-11-20 17:08:08

高亮标签 **
 如果你想高亮文件里的所有标签,可以使用如下映射。
  -- 生成 tags.vim 文件,并高亮标签。
  -- 只根据已有的 tags.vim 文件高亮标签。
 :map :sp tags:%s/^\([^ :]*:\)\=\([^ ]**/syntax keyword Tag \2/:wq! tags.vim/^
 :map :so tags.vim

 警 告: 标签文件越长,这会越慢,而 Vim 消耗的内存也越多。

 这里只高亮 typedef,也可以针对 union 和 struct 进行设置。为此,你需要 Exuberant ctags (可在 找到)。

 在你的 Makefile 里放入以下的行:

# 建立 types 的高亮文件。需要 Exuberant ctags 和 awk
 types: types.vim
 types.vim: *.[ch]
      ctags -i=gstuS -o- *.[ch] |\
       awk 'BEGIN{printf("syntax keyword Type\t")}\
                  {printf("%s ", $$1)}END{print ""}' > $@
 在你的 .vimrc 里放入以下的行:
 " 载入 types.vim 高亮文件,如果存在的话
 autocmd BufRead,BufNewFile *.[ch] let fname = expand(':p:h') . '/types.vim'
 autocmd BufRead,BufNewFile *.[ch] if filereadable(fname)
 autocmd BufRead,BufNewFile *.[ch] exe 'so ' . fname
 autocmd BufRead,BufNewFile *.[ch] endif

==================================================
以上的F11只能识别函数内部的定义,函数名等,不能识别宏定义。
自己改成
"根据tags文件生成高亮文件tags.vim
map :sp tags:set nohls:%s/file/fi le/:%s/^\([^ :]*:\)\=\([^ ]*\).*/syntax keyword Tag \2/:wq! tags.vim/^
"高亮文件里的所有标签
map :so tags.vim
就可以识别宏了
阅读(1458) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~