我在 vim 中使用 Taglist 插件。在 taglist 窗口中,我可以看到命名空间、类、结构、函数等标签,但看不到变量。我在 Taglist 网站上看到了包含此信息的屏幕截图(附在下面)。我正在使用 Vim 7 和 Exuberant Ctags 5.8,并且我已经使用这个命令生成了我的 ctags
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
(来源:sourceforge.net)
我在 vim 中使用 Taglist 插件。在 taglist 窗口中,我可以看到命名空间、类、结构、函数等标签,但看不到变量。我在 Taglist 网站上看到了包含此信息的屏幕截图(附在下面)。我正在使用 Vim 7 和 Exuberant Ctags 5.8,并且我已经使用这个命令生成了我的 ctags
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
(来源:sourceforge.net)
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
的类似值中定义。
对于其他语言,存在不同的变量。
据我所知,Taglist 插件仅显示具有文件范围的变量。它不显示仅具有函数范围的变量。
对于快速测试,只需在源文件的开头添加任何类型的变量,保存源文件,将光标设置到 taglist 窗口中,然后按 u 更新 taglist。现在这个变量应该出现在 taglist 窗口中。这适用于我的 C 文件。
顺便一提:
...我已经使用这个命令生成了我的 ctags
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
您的意思是使用这些 ctags 选项为 taglist 插件生成自己的标签文件吗?据我所知,taglist 使用自己的 ctags 选项并生成一个临时标签文件。用户对 ctags 选项和标签文件没有影响。