Vim: How to go to the declaration (of a class, method, function, variable, etc)

Setting up tags is not so difficult, though (as most things in Vim) it’s not as automatic compared to IDEs.

  1. First, you need the ctags tool. The most common in 2022 is Universal Ctags; in 2013 it was Exuberant Ctags, found at ctags.sourceforge.net.
  2. Next, you need to create a tags database (a file names tags) for all the files in your project(s). This is usually done by running ctags -R . from your project root (also from within Vim via :!ctags ...). Exuberant Ctags support 41 languages, and you can even extend it via regular expressions.
  3. Finally, Vim needs to be configured to pick up the tags database. With :set tags=./tags;, it will search in the file’s directory upwards to the root directory. If you have certain global include directories, you can add those.
  4. With that, you can start using Vim’s tag functionality like <C-]> and :tag.

You need to periodically update the tags database; there are plugins (like easytags.vim; 2022 warning: unmaintained, but still working) that can do that automatically for you.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)