vim-gutentags
vim-mundo
vim-gutentags | vim-mundo | |
---|---|---|
18 | 12 | |
2,255 | 778 | |
- | - | |
1.3 | 2.3 | |
about 1 month ago | about 1 month ago | |
Vim Script | Vim Script | |
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.
vim-mundo
-
Is there a way to record and view all commands used on the file?
there's also telescope-undo and vim-mundo
-
Recommended minimal set of plugins for a great experience
I don't always need it, but when I do I find vim-mundo incredibly helpful. Understanding the vim undotree is hard without a visualization and mundo's ability to search my undo chunks makes it easy to revive some previous change that wasn't committed to version control.
-
Undo tree?
Still using mundo here (https://github.com/simnalamburt/vim-mundo)
-
How to navigate back and forth through last edits?
You mean undo/redo? that's u and . To view undos visually you can use a plugin like [vim-mundo](https://github.com/simnalamburt/vim-mundo
-
Take More Screenshots
I'm glad you found something that works for you, and I don't mean to dissuade you even if I could, but to me that feels like an antipattern if you only use it for typed text.
Consider that with a text editor like Vim, for example, you can "time travel" [0] through your file's edits, or even have undo branches/trees [1][2] available per file. That saves you the trouble of having to transcribe text from screenshots, and also barely uses any storage space.
Plain text is also highly more portable and more likely to be recoverable in case of drive failure or file corruption.
Additionally, or alternatively, you could try any sort of manual versioning system or background automatic backup solution that keeps versions of files as you work on them.
[0]: https://vimtricks.com/p/vimtrick-time-travel-in-vim/
[1]: https://neovim.io/doc/user/undo.html#undo-tree
[2]: https://github.com/simnalamburt/vim-mundo
-
What are your must-have vim/nvim extensions?
mundo undo tree
-
Time traveling with Vim
It's not just minutes either, you can do seconds with s, hours with h, days with d and get this - "writes" with w. You can also just simply go back to an arbitrary n number of buffer states before; but just like writes, that's hard to keep track of mentally and instead you should probably use a proper plugin for that.
-
What do you prefer for NOTE TAKING or similar purposes?
I used to use Typora before I got into Neovim and realised that it wasn't free software either. Now I'm quite satisfied with my current setup, which uses: - aerial.nvim for header outline and navigation - run-code.nvim for running code blocks - vim-mundo for persistent undo history traversal (like Mac's time machine) - Prettier for auto-formatting Markdown as well as code blocks to their respective languages
-
Piece of mind for a reddit noob.
Using a plugin like undotree (or Gundo, or Mundo) to visualize the edit history is by far the most practical solution to OP's problem, and I'm shocked you're the only person to suggest it.
-
Why is it so hard to see code from 5 minutes ago?
There's a fork called mundo which has an inline diff mode that I'm a big fan of — https://github.com/simnalamburt/vim-mundo
What are some alternatives?
tagbar - Vim plugin that displays tags in a window, ordered by scope
undotree - The undo history visualizer for VIM
ctags - A maintained ctags implementation
undo-tree
nvim-cmp - A completion plugin for neovim coded in Lua.
gundo.vim - A git mirror of gundo.vim
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
gruvbox - Retro groove color scheme for Vim - community maintained edition
vista.vim - :cactus: Viewer & Finder for LSP symbols and tags
riscv-v-spec - Working draft of the proposed RISC-V V vector extension
nvim-bqf - Better quickfix window in Neovim, polish old quickfix window.
StyleCopAnalyzers - An implementation of StyleCop rules using the .NET Compiler Platform