Question: After generating a tags file with `exuberant-ctags` I can jump from a function call to its declaration with `<C-]>` which is pretty convenient.

My question is how to do it in the other way? When my cursor is on the definition of a function, how can I go to the lines where the function is called?

When I look to the file generated by ctags I only see informations related to the location of the definition and not of the calls, does it means that I can't do that, that Vim as a clever workaround or that I need to use something else than `exuberant-ctags`?

Answer: 
You can't jump to function calls with `ctags`. For C/C++ and Java there is [`cscope`](http://cscope.sourceforge.net/), and it integrates nicely with Vim (see [`:help cscope`](http://vimhelp.appspot.com/if_cscop.txt.html)). For other languages you might be able to find a tool that generates / exports `cscope`-compatible databases (f.i. [`hscope`](https://github.com/bosu/hscope) for Haskell, and [`starscope`](https://github.com/eapache/starscope/) for Ruby, Go, and JavaScript). You can also use `cscope` with [GNU global](http://www.gnu.org/software/global/) databases, by pointing `cscopeprg` to `gtags-cscope`.

On a side note: if you aren't put off by occasionally puzzling use of [Engrish](https://en.wikipedia.org/wiki/Engrish), ;) you probably also want to use [universal-ctags](https://github.com/universal-ctags/ctags) instead of `exuberant-ctags`. The latter hasn't been updated in years. The former is an actively maintained fork.
One option is to add your own search patterns on the command line or in the config:

```
--regex-c++='/(\.|->)([[:alnum:]_]+)[[:space:]]*\(/\2(/i,function instance or call/'

```

This creates a new tag "kind" with the code 'i' (for Instance or Invocation) to distinguish it from other tags. It also creates the tags with a trailing '(', because when you are looking for the definition, having 100 invocation results can muddy the waters. So searching for 'my\_func(' limits the results in either case. If you don't like that, you can just remove the `(` after the `\2`.

You can use this options multiple times for the same kind. So, instead of trying to come up with a single regex that will match all calls, you can have several, simpler ones that capture different kinds of calls.

This isn't foolproof, and with the patterns I've built up, I still get non-call results, but it's definitely better than nothing! :)