Vim并没有强调一些单词

时间:2014-11-14 20:18:00

标签: c++ vim plugins ide highlight

我正在使用Vim中的TagHighlight插件来突出显示我的自定义C ++类和成员。

我发现there这个技巧让我更好地理解了Vim如何看待某些词语。在某种程度上,我现在可以问:“好吧,为什么你把这个这个字用绿色?”

奇怪的是它运作良好,除了(很多)随机情况,请参阅:

enter image description here

我的图书馆名称空间sf已突出显示,当我问到原因时,Vim会告诉hi<CTagsNamespace> trans<CTagsNamespace> lo<Constant>,很棒。

但是std没有,答案是hi<> trans<cParen> lo<>

我的变量angle已被发现为hi<CTagsMember> trans<CTagsMember> lo<Member>(为什么不呢?),但它的小“speed没有:它是hi<> trans<cBlock> lo<>

那么......为什么? Vim是否可以实际阅读和理解我的整个项目,然后以正确的方式突出显示它?

1 个答案:

答案 0 :(得分:1)

来自TagHighlight说明:

  

TagHighlight是一个突出显示类,变量名称的插件   Vim中源代码中的类型等。这使得它更快更容易   发现代码中的错误。 使用旺盛的ctags并解析   输出,typedef,#define,枚举名称等都清楚   以不同颜色突出显示。

您可能没有std命名空间的源,因此没有标记,因此没有突出显示。

你的ctags可能没有为局部变量生成标签,因此速度没有突出显示。但是你可能有一个名为angle的变量作为全局变量或成员变量,因此局部变量角度会被意外突出显示。

并且不要责怪Vim,这可能与插件和你的标签有关:)