2 month ago, I thought ctags was totally enough for navigating through c codes. There is a plugin called unite-tags which takes advantage of the power of Unite.vim. Also the ctags is very handy in other programming languages. You can even DIY your own rules of tags generating with the configuration file .ctags. However, problems with ctags: unite-tag takes a noticeable while to initialize the tags