简体   繁体   中英

How to display variables in Taglist window in vim

I am using Taglist plugin in vim. In the taglist window i can see tags like namespaces, classes, struct, function but not variables. I saw a screenshot(attached below) on Taglist website which had this info. I am using Vim 7 and Exuberant Ctags 5.8, and i have generated my ctags using this command

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

替代文字
(source: sourceforge.net )

There is a variable s:tlist_def_cpp_settings in Taglist plugin (.vim/plugin/taglist.vim) that defines which elements are shown by default.

I extended it to:

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'

According to taglist manual you can also define tlist_cpp_settings in your .vimrc with similar value.

For other languages different variables exist.

As far as I know, the Taglist plugin shows only the variables which have file scope. It does not show variables which have only function scope.

For a quick test just add a variable of any type at the start of your source file, save the source file, set cursor into the taglist window and press u to update taglist. Now this variable should appear in the taglist window. This works for my C files.

By the way:

... and i have generated my ctags using this command

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

Do you mean that you generate your own tags file for the taglist plugin using these ctags options? To my knowledge taglist uses its own ctags options and generates a temporary tag file. The user has no influence on the ctags options and the tags file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM