vim-gutentags VS tagbar

Compare vim-gutentags vs tagbar and see what are their differences.

vim-gutentags

A Vim plugin that manages your tag files (by ludovicchabant)

tagbar

Vim plugin that displays tags in a window, ordered by scope (by preservim)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
vim-gutentags tagbar
18 31
2,254 6,081
- 0.3%
1.3 4.7
about 1 month ago about 2 months ago
Vim Script Vim Script
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

vim-gutentags

Posts with mentions or reviews of vim-gutentags. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-25.
  • Vim + Ctags + Modern JS
    1 project | /r/vim | 14 Apr 2023
    https://github.com/ludovicchabant/vim-gutentags/issues/139 has some background.
  • Rust setup for neovim
    2 projects | /r/rust | 25 Oct 2022
    Hi everyone. I'm looking to have a better setup for Rust in neovim. I do have rust-analyzer installed for useful lsp things but I was hoping to get tags working for it as well. I was using vim-gutentags (https://github.com/ludovicchabant/vim-gutentags) for navigating useful functions and stuff but couldn't quite get it to work for rust. Is there a simple way to do it or do I need rusty-tags and some aucommand to get it to work?
  • Project & File navigation
    20 projects | /r/vim | 4 Oct 2022
    use tags, I like https://github.com/ludovicchabant/vim-gutentags for this. I might use my local .vimrc to tweak the config (exclude compiled source files and other uninteresting things)
  • Whenever I'm looking for plugins these days [OC]
    29 projects | /r/neovim | 7 Jul 2022
  • Big game changers you wish you knew about earlier
    6 projects | /r/vim | 14 Jun 2022
    guttentag: https://github.com/ludovicchabant/vim-gutentags
  • Having trouble with ctags
    3 projects | /r/vim | 5 Jun 2022
    Without more information, it's hard to point you in the right direction. The tags file could be out-of-date, in which case you can try to re-generate it (vim-gutentags for tags auto-generation). You could have 2 function declarations with the same name, in which case you can try :tag to cycle through tags (supports partials, like :tag F which will suggest FOO, FAR, FAB ...etc) or :tag to see a list of possible options (supports partials, like :tag F which will list FOO, FAR, FAB, ...etc) for various matching tags you can jump to (fzf.vim provides a tags fuzzy finder via :Tags). Maybe you're experiencing :h tag-priority?
  • What are your must-have vim/nvim extensions?
    53 projects | /r/vim | 9 May 2022
    ludovicchabant/vim-gutentags - Tags
  • Vim – Minimal Setup Explained
    8 projects | news.ycombinator.com | 24 Feb 2022
    You can then use :cnext and :cprev (or focusing the window and selecting an entry) to navigate between them.

    As others have stated, you can also use ctags (plugins like https://github.com/ludovicchabant/vim-gutentags are useful for refreshing tags in a project), but for some languages you may need to add a tag definition (e.g. for something like rust or zig). For older languages like C you should be fine.

  • How to set up VIM for PHP development
    8 projects | dev.to | 14 Feb 2022
  • Can you add custom functionality for goto definition for lsp to use multiple langauges?
    3 projects | /r/neovim | 30 Jan 2022
    Not sure if it will help in this case, but I also depend on ctags for when the lsp fails (e.g. code it doesn't compile for some reason). Here you let a program create a tags file, e.g. I use https://github.com/universal-ctags/ctags (it seems it can parse json files, though I'm not sure what kind of tags are generated from this and if they will be useful to you) with https://github.com/ludovicchabant/vim-gutentags to update the tags file. The tags file just contains symbol names with locations where they are defined, and vim has builtin functionality to use these tags files :h tag and they (can) work filetype independent. For example if I mention a C type in a markdown document I can just use ctrl-[ to jump to its definition in the C source file. Possibly you can generate tags files yourself from the json files to help with this, the tags file format is not very complicated. Tags also are not very intelligent and depend on unique names for them to work well, there is the :h g_CTRL-] that can help, but for symbols that are very common (e.g. init or something that potentially has like 20+ definitions) it doesn't really work.

tagbar

Posts with mentions or reviews of tagbar. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-01.
  • A function to list all function signatures in the current C source file in the quick fix window .
    1 project | /r/vim | 4 Jul 2023
    Check this plugin: https://github.com/preservim/tagbar
  • Moving across c-family function arguments
    2 projects | /r/vim | 1 Jun 2023
    Are you looking for https://vim-taglist.sourceforge.net/ or https://github.com/preservim/tagbar
  • What is this font used from the everforest repo?
    3 projects | /r/neovim | 30 May 2023
    I ended up finding https://github.com/preservim/tagbar and like it so far
  • NeoVim & Rust
    7 projects | /r/rust | 26 May 2023
    I also recommend you https://github.com/preservim/tagbar with https://ctags.io/ installed , it will map definitions (functions, enum, struct etc..) to tags and tagbar plugin allows you to open a split window with the mapped list and navigate through your file, it also enabled more advanced features for quick navigation .
  • Question regarding vertical movement
    8 projects | /r/neovim | 12 Mar 2023
    Also not that useful for text files I think, but I sometimes use something like https://github.com/preservim/tagbar to get an overview of the structure of the file, especially in unfamiliar documents. This is a quite old plugin of this nature that depends on ctags, there are more modern plugins that depend on treesitter. However for C++, I found the treesitter based bar plugins not as helpful, they need language specific settings, and the ones I tried didn't have them for C++ at the time.
  • Favorite vimrc configs for coding?
    8 projects | /r/vim | 20 Feb 2023
    Having said this, there are some useful language independent extensions: jiangmiao/auto-pairs, tpope/vim-commentary, preservim/tagbar, junegunn/vim-peekaboo
  • converting vimscript to lua
    1 project | /r/neovim | 3 Feb 2023
    Hey, I checked out tagbar plugin. It's really cool. It supports most of the languages. But the ones that needs to be configured, are mentioned in their wiki. It mentions vimscript in it. What will be the lua version of following vimscript?
  • NeoVim Installation and Configuration on Win10/11
    14 projects | dev.to | 30 Nov 2022
    :set number :set autoindent :set tabstop=5 :set shiftwidth=4 :set smarttab :set softtabstop=4 :set mouse=a call plug#begin() Plug 'http://github.com/tpope/vim-surround' " Surrounding ysw) Plug 'https://github.com/preservim/nerdtree' " NerdTree Plug 'https://github.com/tpope/vim-commentary' " For Commenting gcc & gc Plug 'https://github.com/vim-airline/vim-airline' " Status bar Plug 'https://github.com/lifepillar/pgsql.vim' " PSQL Pluging needs :SQLSetType pgsql.vim Plug 'https://github.com/ap/vim-css-color' " CSS Color Preview Plug 'https://github.com/rafi/awesome-vim-colorschemes' " Retro Scheme Plug 'https://github.com/neoclide/coc.nvim' " Auto Completion Plug 'https://github.com/ryanoasis/vim-devicons' " Developer Icons Plug 'https://github.com/tc50cal/vim-terminal' " Vim Terminal Plug 'https://github.com/preservim/tagbar' " Tagbar for code navigation Plug 'https://github.com/terryma/vim-multiple-cursors' " CTRL + N for multiple cursors Plug 'https://github.com/rstacruz/vim-closer' " For brackets autocompletion " Auto-completion For Javascript, typescript, html, jsx ...etc Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} " this is for auto complete, prettier and tslinting let g:coc_global_extensions = ['coc-tslint-plugin', 'coc-tsserver', 'coc-css', 'coc-html', 'coc-json', 'coc-prettier'] " list of CoC extensions needed Plug 'jiangmiao/auto-pairs' "this will auto close ( [ { " these two plugins will add highlighting and indenting to JSX and TSX files. Plug 'yuezk/vim-js' Plug 'HerringtonDarkholme/yats.vim' Plug 'maxmellon/vim-jsx-pretty' set encoding=UTF-8 call plug#end() nnoremap :NERDTreeFocus nnoremap :NERDTree nnoremap :NERDTreeToggle nnoremap :call CocActionAsync('jumpDefinition') nmap :TagbarToggle :set completeopt-=preview " For No Previews :colorscheme jellybeans let g:NERDTreeDirArrowExpandable="+" let g:NERDTreeDirArrowCollapsible="~" " --- Just Some Notes --- " :PlugClean :PlugInstall :UpdateRemotePlugins " " :CocInstall coc-python " :CocInstall coc-clangd " :CocInstall coc-snippets " :CocCommand snippets.edit... FOR EACH FILE TYPE " air-line let g:airline_powerline_fonts = 1 if !exists('g:airline_symbols') let g:airline_symbols = {} endif " airline symbols let g:airline_left_sep = '' let g:airline_left_alt_sep = '' let g:airline_right_sep = '' let g:airline_right_alt_sep = '' let g:airline_symbols.branch = '' let g:airline_symbols.readonly = '' let g:airline_symbols.linenr = '' inoremap pumvisible() ? coc#_select_confirm() : ""
  • Closing brackets are highlighted in red when in the init.vim file
    9 projects | /r/neovim | 24 Nov 2022
    Plug 'https://github.com/preservim/tagbar' " Tagbar for code navigation
  • Is there a plugin similar to Visual Studio's object browser/class view?
    4 projects | /r/neovim | 20 Oct 2022
    https://github.com/preservim/tagbar (no LSP support)

What are some alternatives?

When comparing vim-gutentags and tagbar you can also consider the following projects:

ctags - A maintained ctags implementation

symbols-outline.nvim - A tree like view for symbols in Neovim using the Language Server Protocol. Supports all your favourite languages.

nvim-cmp - A completion plugin for neovim coded in Lua.

navigator.lua - Code analysis & navigation plugin for Neovim. Navigate codes like a breeze🎐 Exploring LSP and 🌲Treesitter symbols a piece of 🍰 Take control like a boss 🦍

coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

vista.vim - :cactus: Viewer & Finder for LSP symbols and tags

vim-awesome - Awesome Vim plugins from across the universe

nvim-bqf - Better quickfix window in Neovim, polish old quickfix window.

vim-markdown - Markdown Vim Mode

cmp-nvim-tags - tags sources for nvim-cmp

LanguageClient-neovim - Language Server Protocol (LSP) support for vim and neovim.