vim-gutentags
ctags
Our great sponsors
vim-gutentags | ctags | |
---|---|---|
18 | 33 | |
2,254 | 6,273 | |
- | 1.6% | |
1.3 | 9.7 | |
about 1 month ago | 5 days ago | |
Vim Script | C | |
MIT License | GNU General Public License v3.0 only |
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
-
Vim + Ctags + Modern JS
https://github.com/ludovicchabant/vim-gutentags/issues/139 has some background.
-
Rust setup for neovim
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
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]
-
Big game changers you wish you knew about earlier
guttentag: https://github.com/ludovicchabant/vim-gutentags
-
Having trouble with ctags
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?
ludovicchabant/vim-gutentags - Tags
-
Vim – Minimal Setup Explained
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
-
Can you add custom functionality for goto definition for lsp to use multiple langauges?
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.
ctags
- If you owned a nvidia tesla a100, what would you do with it?
-
NeoVim & Rust
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 .
-
How do you figure out which #include a function/variable came from?
grep, Ctags, Cscope, LSP
-
Vim plugin like vscode "go to definition" function
Vim has the tag feature built-in, which allows it to jump to the tags that were found by a tool like universal ctags using :h CTRL-]. See :help tags for more information on this. Fun fact: this is the approach that Vim uses when you use :help!
-
Neovim config from scratch (Part II)
Requirements: You need to have a CTags implementation like universal-ctags installed on your system (on every system where you use vim).
-
How to check the memory usage of my plugins?
Install https://github.com/universal-ctags/ctags
-
Project reading tools
If you are heavy Vim user, you do not need anything else. For just quick browsing, simply use ctags, make sure to use universal ctags (https://ctags.io) not exuberant ctags which are no longer well maintained. Go works out of box.
-
Help me set up vim for linting and a file tree please and some other stuff
Other (built-in) tools for file navigation in Vim include: :h :ls and :h :buffer to navigate in your buffer list (i.e. the files you have loaded); everything listed in [https://vimways.org/2018/death-by-a-thousand-files/](romainl's "Death by a Thousand Files" articles in vimways); using tags by installing universal-ctags to generate the tags then using any of the commands in :h tag to navigate them; setting global marks to files you use often with m[UPPERCASE LETTER] and jumping to them with `[UPPERCASE LETTER]; :h :vimgrep…
-
Ctags and referencing static functions, is it possible?
I have good news for you. Universal Ctags, an Exuberant Ctags fork and essentially its replacement, has fixed this already:
-
Searching files or words using fuzzy finders
Vim has built-in functionality that works pretty similar to what you want. If you have a tags file (for example, using universal ctags), you can hit Ctrl-] (:h Ctrl-]) to jump to the declaration of any function under your cursor. Or, if you don't have a tags file, you can use gd (:h gd) to jump to a local declaration within the open file.
What are some alternatives?
tagbar - Vim plugin that displays tags in a window, ordered by scope
lsp-mode - Emacs client/library for the Language Server Protocol
nvim-cmp - A completion plugin for neovim coded in Lua.
vscode-intelephense - PHP intellisense for Visual Studio Code
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
lsp - Language Server Protocol (LSP) plugin for Vim9
vista.vim - :cactus: Viewer & Finder for LSP symbols and tags
nvim-lspconfig - Quickstart configs for Nvim LSP
nvim-bqf - Better quickfix window in Neovim, polish old quickfix window.
cmp-nvim-tags - tags sources for nvim-cmp
fzf.vim - fzf :heart: vim