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 do that with ctags.

Try a beefier alternative like [cscope](http://cscope.sourceforge.net/) (which even has its own help section: `:help cscope`) or [global](http://www.gnu.org/software/global/).
I always use two tools together: Exuberant Ctags, same as you, plus [GNU ID Utils](https://www.gnu.org/software/idutils/). This project provides the `mkid` utility to build an `ID` database for fast querying with `lid`.

The Vim-side setup is this line in `.vimrc`:

```
:set grepprg=lid\ --word\ --result=grep\ '$*'\ \\\|\ sort\ -n\ -t\ :\ -k\ 2

```

The sorting step is in there because `lid` has a way of putting out matches in a funny order that jumps around in a file rather than being ordered by line number.

I make two more definitions in connections with this:

```
:nmap K "_y:execute count ? ( ":!man " . count . " " . expand("<cword>") ) : ( ":grep \\<" . expand("<cword>") . "\\>")^M
:vmap K "zy:execute ":grep " . getreg("z")^M

```

This gives me a `K` shortcut for searching for occurrences of identifiers using `:grep`.

The `:nmap K` provides dispatch for searching for the identifier under the cursor. Because `K` is an existing command for invoking `man` (with an optional numeric prefix to specify the `man` section number), I partially preserve the behavior: if a numeric prefix is given, `K` still does the `man` lookup. Without a prefix it does `:grep`.

The `:vmap K` is for searching for text that has been visually selected.