Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ReplaceWithSameIndentRegister
Replace lines with the contents of a register, keeping the original indent.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
vimade
An eye friendly plugin that fades your inactive buffers and preserves your syntax highlighting!
-
neodim
Neovim plugin for dimming the highlights of unused functions, variables, parameters, and more
-
vim-textobj-variable-segment
A text object to turn foo_bar_baz into foo_baz *and* quuxSpamEggs into quuxEggs *and* shine your shoes
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
My only wish with it is that [nvim-scrollbar](https://github.com/petertriho/nvim-scrollbar) could behave a bit nicer with it -- the scrollbar jumps a bit when the smooth scroll is animating.
winshift.nvim adds a "move windows around"-mode.
dial.nvim significantly improves the built in increment/excrement functionality to include for instance booleans, or any other custom strings that you at yourself for that matter.
2 essential plugins for me that I don’t see talked about much anymore are vim-scripts/ReplaceWithRegister and vim-scripts/ReplaceWithSameIndentRegister. The vanilla way to do this is not super difficult, delete into the black hole register, then paste. Or visually select, then paste. And afterwards clean up the formatting if necessary. But I do this hundreds of times a day, the convenience of having a dedicated command for it is massive.
2 essential plugins for me that I don’t see talked about much anymore are vim-scripts/ReplaceWithRegister and vim-scripts/ReplaceWithSameIndentRegister. The vanilla way to do this is not super difficult, delete into the black hole register, then paste. Or visually select, then paste. And afterwards clean up the formatting if necessary. But I do this hundreds of times a day, the convenience of having a dedicated command for it is massive.
And there is Kasama/nvim-custom-diagnostic-highlight, which is great and has surprisingly few stars on GitHub.
might be well known but i like https://github.com/mhinz/vim-startify easy to use start screen with most recently used lists of files, etc.
vim-cool Not sure if there's an easier way to do it than having this plugin, but it disables search highlighting when you're done, and enables again when you search again. Makes me not have to use `:noh`
The most unknown plugin that I think is quite underrated is [sexy_scroller.vim](https://github.com/joeytwiddle/sexy_scroller.vim). It is smooth scrolling, vitally including between search matches with n and N, and it has easing and animation cancelling. Don't be fooled by the non-flashy readme or the lack of recent commits, I have tried a dozen other smooth scrolling plugins and this one can't be beat. Works even better on a fast terminal emulator like Kitty or Alacritty.
Most Recently Used - https://github.com/yegappan/mru
As someone else said Replace with Register, I'll suggest Eyeliner: https://github.com/jinh0/eyeliner.nvim
Better Quick List is amazing, but might be too popular for this question: https://github.com/kevinhwang91/nvim-bqf
nvim-hlslens: shows indexed search using virtual text, better ux than vim-anzu and other similar plugins.
hydra.nvim is excellent for creating sub-modes - I us it with nvim-DAP for an excellent debugging sub-mode.
https://github.com/chiyadev/dep it's a better plugin manager, it ensures plugins are loaded in the correct order and it waits for plugins to be actually installed/updated before starting them
https://github.com/whiteinge/diffconflicts is not unknown, but I think deserves way more attention. It transforms the way you resolve merge conflicts unlike any other tool I've seen.
I'm not sure if this qualifies as unknown but undotree is a life saver for me. I don't need it often but when I need it, it shows me all changes in a file for the current session.
Switch.vim makes pretty easy to quick switch between definitions of something. I use it a lot to manage a list of to-dos while I'm working and quick switch between "TODO", "DOING" and "DONE"
dirbuf doesn't get enough attention. It's a robust, simple, yet featureful replacement for the netrw plugin built into Vim/NeoVim. It allows directories to be treated somewhat like files - edit a directory, and you get a directory listing. That listing can be modified - add files, edit files, delete files, and the result ends up on disk. A much simpler and more-Vimy alternative to tree plugins like NeoTree, in my view.
(Neo)vim's oldfiles list only includes files from previous sessions. That means files you open in the current session won't be included. However, telescope-recent-files will include files from the current session as well.
For me it's https://github.com/zbirenbaum/neodim which works surprisingly well ootb.
I’d say nvim-miniyank. Straightforward way to access your past yanks and deletions.
vim-textobj-variable-segment is useful when editing snake case or camel case words.
vim-swap provides an easy way to swap delimited items. It also provides textobjects targeting them, so deleting an argument becomes as easy as da,
nvim-bufdel is a minimal plugin to improve buffer deletion, and unlike many others supports confirm option.
leap.nvim makes movement absurdly easy and almost instantaneous.
Related posts
- What are some plugins that you can't live without?
- What IDEA or Vscode feature/function you want to have in neovim eco-system?
- Editing init.lua with lua_ls on gives "Undefined global : vim" ?
- Set it and forget it plugins?
- mini.files - navigate and manipulate file system (with column view and editing text)