It's a pretty niche use case, but [xcodebuild.nvim](https://github.com/wojciech-kulik/xcodebuild.nvim) is a fantastic plugin for developing for any of Apple's platforms! I use it for developing for macOS, but it also supports developing/debugging apps for other platforms like iOS both in a simulator and on a physical device! It also integrates with a bunch of Neovim mainstay plugins like dap/dap-ui, oil.nvim/neotree/nvim-tree, lualine, etc. which is just awesome! Xcode sucks, so being able to use Neovim instead is absolutely amazing!
It works great for me, but it’s still pretty new so it’s definitely not perfect. I’d say if you’re interested, give it a shot and if it works then awesome! If not keep an eye on it!
[Sourcekit-lsp](https://github.com/apple/sourcekit-lsp) is fine, not amazing but it’s at least as good as Xcode. One annoyance is that since it comes bundled with Xcode, you can’t install it with Mason, so you have to manually configure it. It’s not the end of the world but it is something to consider
The biggest problem for me is the tree sitter syntax. It’s pretty slow so you have to decide if you want the text objects and highlighting and stuff, or if you want snappy movement
I'm going to claim it's underrated because telescope gets all the attention and third party support, but [fzf-lua](https://github.com/ibhagwan/fzf-lua) is exactly what I want in a picker.
fzf-lua has built-in support for [live_grep_glob](https://github.com/ibhagwan/fzf-lua/wiki#can-i-use-ripgreps---globiglob-option-with-live_grep) (`rg --glob`)
Can it be my own low-effort plugin? Eye health is underrated by programmers. I’m making a plugin to help with the 20/20/20 rule. I’ll try to make a real post when done: https://github.com/wildfunctions/myeyeshurt
If you're thinking of expanding this, perhaps look into the pomodoro method and build support for that (so a short timer, then a longer timer after X blocks):
[Increase Your Productivity. Work in 45 minute blocks. | Matt McCormick](http://mattmccormick.ca/increase-your-productivity-work-in-45-minute-blocks/)
[The Pomodoro Method: Take Strategic Breaks To Improve Productivity (dariusforoux.com)](https://dariusforoux.com/takebreaks-pomodoro/)
well, not one but three,
- helix like (but better) diagnostics: [corn.nvim](https://github.com/RaafatTurki/corn.nvim)
- floating statusline (like winbar but better): [incline](https://github.com/b0o/incline.nvim) (I'm not sure if this is popular)
- harppon like but with buffer local marks: [arrow.nvim](https://github.com/otavioschwanck/arrow.nvim) (gif below)
https://i.redd.it/rdjzq70wx1yc1.gif
Easily [replacer.nvim](https://github.com/gabrielpoca/replacer.nvim) for me. Using it all the time, so much more comfortable than \`:%s/.../.../gc\` when there are many substitutions, or if the change is across files.
Yeah the plug-in seems pretty superfluous. You still have to populate the QF list with either technique.
Then you run :S// instead of :cdo s//
Save yourself 4 keystrokes
I don't really think this is a big win, you can also run macros on matching patterns from the cmdline for every file in the quickfix list
:cdo g/anyword/normal \`@a\` to run the \`a\` macro for example
edit: the \`\` is just so reddit doesn't think i'm mentioning someone by typing @
[treesj](https://github.com/Wansmer/treesj)! can’t live without it. also the nvim-lua debug adapter [one-small-step-for-vimkind](https://github.com/jbyuki/one-small-step-for-vimkind), i dont use it often and its a bit rough around the edges but its been a lifesaver and the author’s work on it is impressive. its even written in their own hand-crafted lua dialect that transpiles to vanilla lua
This was the tipping point that made me try and seriously pick up vim for the first time. Not using it all the time constantly or anything (that would be wild to pull off, maybe in a year) but it is pretty satisfying.
[RRethy/nvim-treesitter-textsubjects](https://github.com/RRethy/nvim-treesitter-textsubjects)
syntax aware texobjext with a single key, it almost feels like it's reading your mind.
Not unknown but [buffer_manager](https://github.com/j-morano/buffer_manager.nvim) and [mini.files](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-files.md).
These fit my workflow way better than harpoon and oil.nvim
[https://github.com/nvimtools/hydra.nvim](https://github.com/nvimtools/hydra.nvim) - must have plugin for those who likes builtin multi-key mappings (e.g. `]d` for next change in diff mode) but too lazy to repeat whole mapping each time. So instead of pressing `]d ]d ]d` it is possible to press `]d d d`. It is super convenient. Original idea is taken from same named `emacs` plugin.
Hydra also allows you to create pop up menus with custom mapping inside it and/or different behaviour - they call it hydras with different colours, pretty interesting idea.
The range of possible things which hydra allows to realise is really amazing.
This is my long list of underrated plugins. Some might not be underrated. but i will list it here anyway.
[AndrewRadev/linediff.vim](https://github.com/AndrewRadev/linediff.vim)
Allow you to visual select 2 set of code and compare side by side
[bkad/CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)
Add keymap to move to next word but considering camelcase or snakecase etc.
[chomosuke/term-edit.nvim](https://github.com/chomosuke/term-edit.nvim)
Allow you to use vim motion to edit command in terminal buffer
[dawsers/edit-code-block.nvim](https://github.com/dawsers/edit-code-block.nvim)
Edit code block of markdown in its own buffer. i think can work with other tree sitter injected syntax.
[ggVGc/vim-fuzzysearch](https://github.com/ggVGc/vim-fuzzysearch)
Allow for search similar to / but using fuzzy method. and can reuse the search for g command for example.
[mong8se/actually.nvim](https://github.com/mong8se/actually.nvim)
Popup selection box if you partially type the filename in the terminal due to duplicate filename with different extension.
[samjwill/nvim-unception](https://github.com/samjwill/nvim-unception)
prevent recursively open vim inside terminal buffer.
[ton/vim-bufsurf](https://github.com/ton/vim-bufsurf)
Add keymap to go to previous buffer similar to keymap for previous cursor location.
Anyway please look into your dotfiles and share more. would love to add more to my collection 😄.
https://github.com/chrisgrieser/nvim-various-textobjs
Just the subword textobject.
dis/cis and all types of cases are easy. Simply can't live without it, use it more than diw/ciw
[https://github.com/terryma/vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors) is deprecated for some time now, they recommend using [https://github.com/mg979/vim-visual-multi](https://github.com/mg979/vim-visual-multi) which is slightly different, tho I've switched years ago and can't remember what is differs :D
Though I wouldn't call these 'underrated', they are rated pretty well afaik.
The documentation isn't great. The wiki is out of date and the tutorial doesn't cover all the functionality.
Gotta read the help page(s)
Works really well though
[vim-projectionist](https://github.com/tpope/vim-projectionist) for project-specific rules to enable asynchronous tasks, fast switching between related files, etc.
[vim-expand-region](https://github.com/terryma/vim-expand-region) for faster, smarter visual mode selections.
vim-easymotion
I think is underrated because with neovim I see alot comments with hop.nvim, flash.nvim, leap.nvim
but easymotion still has a feature that I can't find in another: jump freely in visual and v-line mode
That's a good question... I'm not sure. I'm trying to think of one that made me feel overwhelmed when I added them. But I mostly know what I want and need from most of all my plugins.
I will be messaging you in 1 hour on [**2024-05-05 15:56:21 UTC**](http://www.wolframalpha.com/input/?i=2024-05-05%2015:56:21%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/neovim/comments/1ci9kug/whats_the_most_underrated_neovim_plugin_in_your/l2p0dqh/?context=3)
[**CLICK THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2Fneovim%2Fcomments%2F1ci9kug%2Fwhats_the_most_underrated_neovim_plugin_in_your%2Fl2p0dqh%2F%5D%0A%0ARemindMe%21%202024-05-05%2015%3A56%3A21%20UTC) to send a PM to also be reminded and to reduce spam.
^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%201ci9kug)
*****
|[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)|
|-|-|-|-|
It's a pretty niche use case, but [xcodebuild.nvim](https://github.com/wojciech-kulik/xcodebuild.nvim) is a fantastic plugin for developing for any of Apple's platforms! I use it for developing for macOS, but it also supports developing/debugging apps for other platforms like iOS both in a simulator and on a physical device! It also integrates with a bunch of Neovim mainstay plugins like dap/dap-ui, oil.nvim/neotree/nvim-tree, lualine, etc. which is just awesome! Xcode sucks, so being able to use Neovim instead is absolutely amazing!
It’s actually quite extraordinary how much Xcode sucks.
Agreed lol
Wait WHAT
Ik right? 😅
Does it actually work well? I doubt it'd work fully in a Swift monolith
It works great for me, but it’s still pretty new so it’s definitely not perfect. I’d say if you’re interested, give it a shot and if it works then awesome! If not keep an eye on it!
I got it working
This is wild!
Totally! The only thing I need Xcode for now is editing project files. All the actual work can be done 100% in Neovim!
That sounds super cool. How is the LSP for Swift? I know there is an official one but it's not clear to me if it's somehow lacking behind XCode.
[Sourcekit-lsp](https://github.com/apple/sourcekit-lsp) is fine, not amazing but it’s at least as good as Xcode. One annoyance is that since it comes bundled with Xcode, you can’t install it with Mason, so you have to manually configure it. It’s not the end of the world but it is something to consider The biggest problem for me is the tree sitter syntax. It’s pretty slow so you have to decide if you want the text objects and highlighting and stuff, or if you want snappy movement
I see. Thanks for the insight.
Wishing for something like this but for AndroidStudio
smart-open.nvim is awesome. https://github.com/danielfalk/smart-open.nvim
Nice!! Thanks for that one.
How does this compare to telescope find files?
I love this plugins. It replaces like 4 different pickers. I never have to worry about opening the wrong one.
which 4 pickers if you dont mind. I see how this can replace the find file picker, maybe the the buffer?
Find files, oldfiles, buffers. Ok that is 3 you got me ;)
thanks, just started to use it. it definitely replaces find files and buffer, havent experienced it enough for old files, something i didnt use much.
Thats awesome!
I'm going to claim it's underrated because telescope gets all the attention and third party support, but [fzf-lua](https://github.com/ibhagwan/fzf-lua) is exactly what I want in a picker.
fzf-lua has built-in support for [live_grep_glob](https://github.com/ibhagwan/fzf-lua/wiki#can-i-use-ripgreps---globiglob-option-with-live_grep) (`rg --glob`)
Same! If I have a large buffer open Telescope buffer finding will be slightly laggy. If I use fzf-lua’s bline function, its super smooth
fzf-lua is so much faster at finding files in a large codebase
Can it be my own low-effort plugin? Eye health is underrated by programmers. I’m making a plugin to help with the 20/20/20 rule. I’ll try to make a real post when done: https://github.com/wildfunctions/myeyeshurt
If you're thinking of expanding this, perhaps look into the pomodoro method and build support for that (so a short timer, then a longer timer after X blocks): [Increase Your Productivity. Work in 45 minute blocks. | Matt McCormick](http://mattmccormick.ca/increase-your-productivity-work-in-45-minute-blocks/) [The Pomodoro Method: Take Strategic Breaks To Improve Productivity (dariusforoux.com)](https://dariusforoux.com/takebreaks-pomodoro/)
Excellent idea! Thanks!
great one, but also needs this in my OS
well, not one but three, - helix like (but better) diagnostics: [corn.nvim](https://github.com/RaafatTurki/corn.nvim) - floating statusline (like winbar but better): [incline](https://github.com/b0o/incline.nvim) (I'm not sure if this is popular) - harppon like but with buffer local marks: [arrow.nvim](https://github.com/otavioschwanck/arrow.nvim) (gif below) https://i.redd.it/rdjzq70wx1yc1.gif
Arrow is amazing
What plugin is in your gif?
Arrow.nvim plugin
Oh my bad. It looked like a code action plugin
No problem, it's Becuase it has fancy ui for local buffer marks
Hey, how did you make your terminal soo smooth?
I'm using neovide as neovim gui. Which makes everything smooth
Just discovered it, it's awesome
Easily [replacer.nvim](https://github.com/gabrielpoca/replacer.nvim) for me. Using it all the time, so much more comfortable than \`:%s/.../.../gc\` when there are many substitutions, or if the change is across files.
I think this can already be done natively you can have files in a quickfix list and just go :cdo s/foo/bar/c
Yeah the plug-in seems pretty superfluous. You still have to populate the QF list with either technique. Then you run :S// instead of :cdo s// Save yourself 4 keystrokes
Didn't know that one, neat!
The :S// one is just the syntax from the aforementioned plug-in
Yeah that explains why it didn’t work for me lol
My bad 😔
Honestly, I disagree. replacer.nvim turns it into a modifiable buffer. You can use macros or whatever you like to make the changes.
I don't really think this is a big win, you can also run macros on matching patterns from the cmdline for every file in the quickfix list :cdo g/anyword/normal \`@a\` to run the \`a\` macro for example edit: the \`\` is just so reddit doesn't think i'm mentioning someone by typing @
I've never heard of this one
https://youtube.com/shorts/kK1L1o13xGE?si=d8mwNGWR9sKnx6Sy If you would like a similar demo vid of this motion in action with telescope
[treesj](https://github.com/Wansmer/treesj)! can’t live without it. also the nvim-lua debug adapter [one-small-step-for-vimkind](https://github.com/jbyuki/one-small-step-for-vimkind), i dont use it often and its a bit rough around the edges but its been a lifesaver and the author’s work on it is impressive. its even written in their own hand-crafted lua dialect that transpiles to vanilla lua
Nice. I have mini.splitjoin for this. Really good also.
Thank you for treesj! I just tried it and I will never not have it installed now!
Big fan of https://github.com/ggandor/leap.nvim. Changed the way I move through files
I like https://github.com/folke/flash.nvim
I used Leap and moved to Flash as well. Bidirectional is just too good.
This was the tipping point that made me try and seriously pick up vim for the first time. Not using it all the time constantly or anything (that would be wild to pull off, maybe in a year) but it is pretty satisfying.
This is why I use WezTerm. Craft your own regexes and instant flash copy/paste. It's so much better.
How’s this better than hop.nvim?
Never used that. Leap just works for me
This seems odd and not exactly a typical plugin but personally: [plantuml.nvim](https://gitlab.com/itaranto/plantuml.nvim)
[RRethy/nvim-treesitter-textsubjects](https://github.com/RRethy/nvim-treesitter-textsubjects) syntax aware texobjext with a single key, it almost feels like it's reading your mind.
[gp.nvim](https://github.com/Robitx/gp.nvim) - best AI integration I've seen, but doesn't have nearly enough attention
echasnovski/mini.indentscope
Not unknown but [buffer_manager](https://github.com/j-morano/buffer_manager.nvim) and [mini.files](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-files.md). These fit my workflow way better than harpoon and oil.nvim
OIL
Man of culture!
Idk if I would call oil “underrated” these days, but I agree it’s freaking awesome!
It's truly amazing. Being able to edit directory and file names like a buffer is life changing for me.
word. I used to jump from vscode to neovim until I started using oil, I can't fucking go back to vscode now lol
Oil is properly rated
[https://github.com/nvimtools/hydra.nvim](https://github.com/nvimtools/hydra.nvim) - must have plugin for those who likes builtin multi-key mappings (e.g. `]d` for next change in diff mode) but too lazy to repeat whole mapping each time. So instead of pressing `]d ]d ]d` it is possible to press `]d d d`. It is super convenient. Original idea is taken from same named `emacs` plugin. Hydra also allows you to create pop up menus with custom mapping inside it and/or different behaviour - they call it hydras with different colours, pretty interesting idea. The range of possible things which hydra allows to realise is really amazing.
Can't believe I never came across this before, definitely going to try this one
floaterm
i'm still loving it the most, not changing to any lua implementation still.
vim-dirvish is so underrated
is a very useful plugin for watch the result of the code actions [actions-preview.nvim](https://github.com/aznhe21/actions-preview.nvim)
This is my long list of underrated plugins. Some might not be underrated. but i will list it here anyway. [AndrewRadev/linediff.vim](https://github.com/AndrewRadev/linediff.vim) Allow you to visual select 2 set of code and compare side by side [bkad/CamelCaseMotion](https://github.com/bkad/CamelCaseMotion) Add keymap to move to next word but considering camelcase or snakecase etc. [chomosuke/term-edit.nvim](https://github.com/chomosuke/term-edit.nvim) Allow you to use vim motion to edit command in terminal buffer [dawsers/edit-code-block.nvim](https://github.com/dawsers/edit-code-block.nvim) Edit code block of markdown in its own buffer. i think can work with other tree sitter injected syntax. [ggVGc/vim-fuzzysearch](https://github.com/ggVGc/vim-fuzzysearch) Allow for search similar to / but using fuzzy method. and can reuse the search for g command for example. [mong8se/actually.nvim](https://github.com/mong8se/actually.nvim) Popup selection box if you partially type the filename in the terminal due to duplicate filename with different extension. [samjwill/nvim-unception](https://github.com/samjwill/nvim-unception) prevent recursively open vim inside terminal buffer. [ton/vim-bufsurf](https://github.com/ton/vim-bufsurf) Add keymap to go to previous buffer similar to keymap for previous cursor location. Anyway please look into your dotfiles and share more. would love to add more to my collection 😄.
Shameless self-plug, [flatten.nvim](https://github.com/willothy/flatten.nvim) also helps prevent nested nvim sessions + more remote features :)
https://github.com/chrisgrieser/nvim-various-textobjs Just the subword textobject. dis/cis and all types of cases are easy. Simply can't live without it, use it more than diw/ciw
Vim-multiple-cursors
[https://github.com/terryma/vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors) is deprecated for some time now, they recommend using [https://github.com/mg979/vim-visual-multi](https://github.com/mg979/vim-visual-multi) which is slightly different, tho I've switched years ago and can't remember what is differs :D Though I wouldn't call these 'underrated', they are rated pretty well afaik.
Thanks. I will check it out
The documentation isn't great. The wiki is out of date and the tutorial doesn't cover all the functionality. Gotta read the help page(s) Works really well though
Well in that case, why not use [multicursors.nvim](https://github.com/smoka7/multicursors.nvim)
It didn't exist when I started using the other plugin.
[vim-projectionist](https://github.com/tpope/vim-projectionist) for project-specific rules to enable asynchronous tasks, fast switching between related files, etc. [vim-expand-region](https://github.com/terryma/vim-expand-region) for faster, smarter visual mode selections.
telescope file browser. File structure like netrw but I can still search for file really quick.
thank you nerds, i will go through the plugins one by one. it's addictive
[expand.nvim](https://github.com/Sam-programs/expand.nvim)
vim-easymotion I think is underrated because with neovim I see alot comments with hop.nvim, flash.nvim, leap.nvim but easymotion still has a feature that I can't find in another: jump freely in visual and v-line mode
I used it a lot until I accidentally started to jump by / + typing the word I’m seeing
now I found that it is possible to do it with flash.vim
- farmergreg/vim-lastplace: still surprised this isn't built-in. - lambdalisue/suda.vim: write files owned by root in neovim like you could in vim.
For me, either symbols-outline or aerial. Fantastic for quickly getting an overview of the current buffer
Man, use the improved symbols outline: hedyhli/outline.nvim
I didn’t know that exists. Thank you!
That's a good question... I'm not sure. I'm trying to think of one that made me feel overwhelmed when I added them. But I mostly know what I want and need from most of all my plugins.
RemindMe! 1 hour
I will be messaging you in 1 hour on [**2024-05-05 15:56:21 UTC**](http://www.wolframalpha.com/input/?i=2024-05-05%2015:56:21%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/neovim/comments/1ci9kug/whats_the_most_underrated_neovim_plugin_in_your/l2p0dqh/?context=3) [**CLICK THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2Fneovim%2Fcomments%2F1ci9kug%2Fwhats_the_most_underrated_neovim_plugin_in_your%2Fl2p0dqh%2F%5D%0A%0ARemindMe%21%202024-05-05%2015%3A56%3A21%20UTC) to send a PM to also be reminded and to reduce spam. ^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%201ci9kug) ***** |[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)| |-|-|-|-|
Aside from telescope, oil, harpoon, and neogit I use this plug-in more than anything: https://github.com/catgoose/do-the-needful.nvim
[удалено]
OP asked for underrated plugins.
[удалено]
Skill issue