9

我在 vim 中使用 Taglist 插件。在 taglist 窗口中,我可以看到命名空间、类、结构、函数等标签,但看不到变量。我在 Taglist 网站上看到了包含此信息的屏幕截图(附在下面)。我正在使用 Vim 7 和 Exuberant Ctags 5.8,并且我已经使用这个命令生成了我的 ctags

ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

替代文字
(来源:sourceforge.net

4

2 回答 2

8

Taglist 插件 (.vim/plugin/taglist.vim) 中有一个变量s:tlist_def_cpp_settings定义了默认显示的元素。

我将其扩展到:

let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' . \ 'c:class;g:enum;s:struct;u:union;f:function;m:member;' . \ 'p:prototype'

根据 taglist 手册,您还可以tlist_cpp_settings在您.vimrc的类似值中定义。

对于其他语言,存在不同的变量。

于 2011-06-09T21:41:28.937 回答
1

据我所知,Taglist 插件仅显示具有文件范围的变量。它不显示仅具有函数范围的变量。

对于快速测试,只需在源文件的开头添加任何类型的变量,保存源文件,将光标设置到 taglist 窗口中,然后按 u 更新 taglist。现在这个变量应该出现在 taglist 窗口中。这适用于我的 C 文件。

顺便一提:

...我已经使用这个命令生成了我的 ctags

ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

您的意思是使用这些 ctags 选项为 taglist 插件生成自己的标签文件吗?据我所知,taglist 使用自己的 ctags 选项并生成一个临时标签文件。用户对 ctags 选项和标签文件没有影响。

于 2010-03-08T21:59:41.213 回答