让ctags + Vim与范围一起工作?

时间:2009-06-05 19:18:02

标签: vim ctags

当我使用ctags生成STL的标签并将这些标签与Vim一起使用时,它不知道范围。如果我使用ctrl-],它将转到第一个匹配的标签,即使这是不正确的。例如:

std::list<int> mylist;
mylist.push__back(100);

如果我在光标超过push_back(100)时键入ctrl-],它将转到bitvector的push_back而不是list的实现。

据我所知,ctags不知道范围,但我知道有些Vim插件使用的是ctags,例如OmniCppComplete。是否有人知道任何可以解决此问题的插件或设置?

2 个答案:

答案 0 :(得分:4)

你传递给ctags的选项是什么? --extra=+q可能有帮助...

答案 1 :(得分:1)

你可以选择做&#34; gctrl - ]&#34; (注意&#39; g&#39;)。这将打开一个相对标签位置列表。您必须选择一个,vim会将您带到文件位置。

Vimp jumps 为您提供更好的跳跃视角。您可以跳转到本地或全球或任何声明。

有效地,一些插件会更改负责的功能以使您达到定义,因此,为您提供更好的GoToDeclaration系统。

相关问题