+ -
当前位置:首页 → 问答吧 → 求vim插件:变量高亮显示

求vim插件:变量高亮显示

时间:2009-05-27

来源:互联网

觉得source insight中的变量高亮支持很不错,在vim网站翻了很久也没找着,不知道各位有没知道这样的插件?

附录下目前我在用的给大家参考:
taglist, NERD_tree, srcexpl, lookupfile, supertab, tabbar, c.vim

作者: amang   发布时间: 2009-05-27

我是自己写了一个语法文件,放在 ~/.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

作者: well   发布时间: 2009-05-31

我是想问有没有可以高亮显示自定义变量的,楼上的可能误会了。
不过那位朋友的文章我倒是看过了,也是在搜索相关问题时找到的。。呵呵。挺不错的,大伙有兴趣的可以看看,地址在这里:
http://blog.csdn.net/wooin/archive/2...1/1858917.aspx

作者: amang   发布时间: 2009-05-31

这个貌似更简单,我没弄,但看doc的时候好像见过
你看看 vim 的 doc 里面讲 syntax 还是什么地方有的

作者: well   发布时间: 2009-06-02

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

作者: amang   发布时间: 2009-06-02

请参考:
http://www.linuxsir.org/bbs/thread251177.html
http://topic.csdn.net/u/20080905/11/...3dd21bc3a.html

作者: amang   发布时间: 2009-06-02

高级些的功能估计要写脚本了,或者你用 slickedit for linux
其实简单些写代码还不影响思路 :) 哈哈,我乱说的

作者: well   发布时间: 2009-06-02

你要的是不是就是高亮自定义变量?比如 float f; 中的 f
如果是,我在4楼的回答就是的

作者: well   发布时间: 2009-06-02

恩,那个看过一些,不过都是手动添加的,声明一个变量就得手动加一个。。。那不疯了。。。
==
估计是没了,哎。。

作者: amang   发布时间: 2009-06-02

应该是有个对所有自定义变量起作用的,你再搜搜,好了告诉我 :)

作者: well   发布时间: 2009-06-02

你是怎么搜索的?

http://www.google.com/search?q=vim+highlight+typedef

作者: mozbug   发布时间: 2009-06-03

可以使用CTAGS_Highlight插件,基于ctags的,需要和bandit colortheme配套使用,实际上就是免去手动添加type定义,我用了一把,还不错,就是在大工程(linux源码)时,打开文件会慢,因为太多类型要高亮

作者: beyond93   发布时间: 2009-06-03

引用:
作者: beyond93
可以使用CTAGS_Highlight插件,基于ctags的,需要和bandit colortheme配套使用,实际上就是免去手动添加type定义,我用了一把,还不错,就是在大工程(linux源码)时,打开文件会慢,因为太多类型要高亮
这个的确是了!谢谢
不过我看了下截图,好像没有支持变量高亮啊?
比如:
int ret;
ret = -1;
Ret = someFuction();
它可以知道ret 声明过了,Ret却没有,因此2个颜色不一样。

还有没这样的插件呢?

作者: amang   发布时间: 2009-06-04

热门下载

更多