LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2223|回复: 12

求vim插件:变量高亮显示

[复制链接]
发表于 2009-5-27 10:37:40 | 显示全部楼层 |阅读模式
觉得source insight中的变量高亮支持很不错,在vim网站翻了很久也没找着,不知道各位有没知道这样的插件?

附录下目前我在用的给大家参考:
taglist, NERD_tree, srcexpl, lookupfile, supertab, tabbar, c.vim
发表于 2009-5-30 22:32:47 | 显示全部楼层
我是自己写了一个语法文件,放在 ~/.vim/syntax/c.vim 用来高亮c语言的一些元素,内容如下:(这个是抄袭的吴垠的)
"========================================================
" Highlight All Function
"========================================================
syn match   cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match   cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunction        gui=NONE guifg=#B5A1FF
"========================================================
" Highlight All Math Operator
"========================================================
" C math operators
syn match       cMathOperator     display "[-+\*/%=]"
" C pointer operators
syn match       cPointerOperator  display "->\|\."
" C logical   operators - boolean results
syn match       cLogicalOperator  display "[!<>]=\="
syn match       cLogicalOperator  display "=="
" C bit operators
syn match       cBinaryOperator   display "\(&\||\|\^\|<<\|>>\)=\="
syn match       cBinaryOperator   display "\~"
syn match       cBinaryOperatorError display "\~="
" More C logical operators - highlight in preference to binary
syn match       cLogicalOperator  display "&&\|||"
syn match       cLogicalOperatorError display "\(&&\|||\)="
" Math Operator
hi cMathOperator            guifg=#3EFFE2
hi cPointerOperator         guifg=#3EFFE2
hi cLogicalOperator         guifg=#3EFFE2
hi cBinaryOperator          guifg=#3EFFE2
hi cBinaryOperatorError     guifg=#3EFFE2
hi cLogicalOperator         guifg=#3EFFE2
hi cLogicalOperatorError    guifg=#3EFFE2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-31 10:18:20 | 显示全部楼层
我是想问有没有可以高亮显示自定义变量的,楼上的可能误会了。
不过那位朋友的文章我倒是看过了,也是在搜索相关问题时找到的。。呵呵。挺不错的,大伙有兴趣的可以看看,地址在这里:
http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx
回复 支持 反对

使用道具 举报

发表于 2009-6-1 22:56:12 | 显示全部楼层
这个貌似更简单,我没弄,但看doc的时候好像见过
你看看 vim 的 doc 里面讲 syntax 还是什么地方有的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-2 09:18:11 | 显示全部楼层
不是手动添加的,这样写代码不是比不用更麻烦吗。
想要类似source insight的效果,比如:
typedef int Length;
Length length;
lenth = 3;
它可以通过不同颜色的高亮标识Length及length, 并且发现lenth与length不同,因而颜色也不同。
好处是:
1、可以检查变量是否声明;
2、不须编译就知道lenth拼写错误,或者lenth有别于length了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-2 09:19:39 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2009-6-2 11:26:56 | 显示全部楼层
高级些的功能估计要写脚本了,或者你用 slickedit for linux
其实简单些写代码还不影响思路 :) 哈哈,我乱说的
回复 支持 反对

使用道具 举报

发表于 2009-6-2 11:28:29 | 显示全部楼层
你要的是不是就是高亮自定义变量?比如 float f; 中的 f
如果是,我在4楼的回答就是的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-2 14:22:56 | 显示全部楼层
恩,那个看过一些,不过都是手动添加的,声明一个变量就得手动加一个。。。那不疯了。。。
==
估计是没了,哎。。
回复 支持 反对

使用道具 举报

发表于 2009-6-2 15:31:58 | 显示全部楼层
应该是有个对所有自定义变量起作用的,你再搜搜,好了告诉我 :)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表