Stuff like icons support, and every little feature. Neovim is extremely minimalist to start, so you need plugins just to get something as simple as a scrollbar lol
Things like git status of files and file lines, all your LSPs, syntax highlighting (for each language you work with), file explorer, you name it, there’s a lot.
But what’s nice about nvim is for any of these given features, there’s numerous options to pick from. Theres probably a dozen options to choose from for what kind of scrollbar you want in your editor, as an example.
So you end up with a huge amount of plugins in the end, for all your custom stuff you have configured.
You have to setup yourself (though theres a lot of very solid copy pasteable recipes for each feature):
Scrollbar
Tabs(if you want em)
bookmarking
every LSP
treesitter
navigation (possibly multiple of them, I use both a file tree, telescope, and harpoon)
file history stuff
git integrations, including integrating it with the numerous other plugins you use (many of them can integrate with git for stuff like status icons)
Code commenting/uncommenting
Code comment tags (IE TODO/BUG/HACK/etc)
your package manager is also a package (I like lazy for wicked fast open speeds, neovim opens in under 1s for me)
hotkey management (I like to use which-key)
prose plugins (lots of great options here too, I use nvim for more than just coding!)
neorg, so I can use nvim for taking notes, scheduling stuff, etc too
debugger via nvim-dap
debugger UI via nvim-dap-ui
lualine, which is a popular statusline plugin people like to have at the bottom of their IDE for general file info
new-file-template which lets me create templates for new files by extension (IE when I make a .cs file and start editting it, I can pick from numerous templates I’ve made to start from, same for .ts, .lua, etc etc)
git conflict, which can detect and work with detected git merge conflict sections in any type of file and give me hotkeys to do stuff like pick A / B / Both / Neither, that sorta stuff
I’m not judging (that much) but you can do pretty well with just telescope, undo-tree and the LSP stuff, no? Debuggers can make it very bloated, at that point I’d just fire up a real IDE just for debugging and get back to Vim to program
I still boot in sub 1s so I don’t know what you mean by “bloated”
Lazy allows you to boot ultra fast by loading stuff in the background later, so “bloat” doesn’t matter
nvim-dap does literally nothing until you trigger it, so it’s only impact on my startup is like 3 hotkey registrations :p
It’s a perfectly fine debugger, works great. The fact I can telescope search to fzf my stack trace actually kind of makes it superior? Like you can’t do that sorta stuff in any other IDE I know of
Also all my navigation stuff like telescope/harpoon/etc still apply when debugging, so I can literally debug faster jumping around the stack trace with hotkeys.
Neovim doesn’t get any less awesome when it comes to debugging, a lot of it’s power still applies just as much haha
To each their own I guess. 😊 I imagine some people consider the bloat to be that extra IDE you have to have laying around just in case you want to debug something.
development stopped for a year (I see activity resumed yesterday) and I jumped ship to LazyVim, it feels much better and possible to self maintain the entire setup.
Sorts? Not tabs in the way you’d expect but it’s default ones can be sufficient
Honestly though once you get pretty good with hotkeys you stop using tabs, for all intents and purposes harpoon is tabs, but better, and without the UI. You just mentally usually pick harpoon keys that make sense to save jump points to, like I’ll harpoon FooController.cs to c and FooService.cs to s and FooEntity.cs to e and so one
And the I jump around with those keys. Usually when working I only need tops 5 harpoon or so for a chunk of work.
When I’m in Helix I usually just use the buffer jump list, or quick jump with last buffer, or open the list of modified files (according to git), or use splits. All built-in functionality. 👍
It always baffled me with (neo)vim how it was so powerful, yet so incapable unless you put in a lot of work. The potential is there, it just doesn’t deliver unless you basically build your own experience on top of the vim platform.
What on earth do you need/use 200+ plugins for? Can you name a tenth of the uses off-hand? 😅
A lot of them are dependencies of other plugins.
Stuff like icons support, and every little feature. Neovim is extremely minimalist to start, so you need plugins just to get something as simple as a scrollbar lol
Things like git status of files and file lines, all your LSPs, syntax highlighting (for each language you work with), file explorer, you name it, there’s a lot.
But what’s nice about nvim is for any of these given features, there’s numerous options to pick from. Theres probably a dozen options to choose from for what kind of scrollbar you want in your editor, as an example.
So you end up with a huge amount of plugins in the end, for all your custom stuff you have configured.
You have to setup yourself (though theres a lot of very solid copy pasteable recipes for each feature):
which-key
)nvim-dap
nvim-dap-ui
new-file-template
which lets me create templates for new files by extension (IE when I make a.cs
file and start editting it, I can pick from numerous templates I’ve made to start from, same for .ts, .lua, etc etc)The list goes on and on haha
I’m not judging (that much) but you can do pretty well with just telescope, undo-tree and the LSP stuff, no? Debuggers can make it very bloated, at that point I’d just fire up a real IDE just for debugging and get back to Vim to program
I still boot in sub 1s so I don’t know what you mean by “bloated”
Lazy allows you to boot ultra fast by loading stuff in the background later, so “bloat” doesn’t matter
nvim-dap
does literally nothing until you trigger it, so it’s only impact on my startup is like 3 hotkey registrations :pIt’s a perfectly fine debugger, works great. The fact I can telescope search to
fzf
my stack trace actually kind of makes it superior? Like you can’t do that sorta stuff in any other IDE I know ofAlso all my navigation stuff like telescope/harpoon/etc still apply when debugging, so I can literally debug faster jumping around the stack trace with hotkeys.
Neovim doesn’t get any less awesome when it comes to debugging, a lot of it’s power still applies just as much haha
To each their own I guess. 😊 I imagine some people consider the bloat to be that extra IDE you have to have laying around just in case you want to debug something.
LunarVim is the lazy way forwards
development stopped for a year (I see activity resumed yesterday) and I jumped ship to LazyVim, it feels much better and possible to self maintain the entire setup.
I have never heard of lazy vim. Will investigate! Thanks
Makes more sense now I guess. 😅
Tabs though? Neovim already has tabs support out of the box, right?
Sorts? Not tabs in the way you’d expect but it’s default ones can be sufficient
Honestly though once you get pretty good with hotkeys you stop using tabs, for all intents and purposes harpoon is tabs, but better, and without the UI. You just mentally usually pick harpoon keys that make sense to save jump points to, like I’ll harpoon FooController.cs to
c
andFooService.cs
tos
andFooEntity.cs
toe
and so oneAnd the I jump around with those keys. Usually when working I only need tops 5 harpoon or so for a chunk of work.
Interesting workflow.
When I’m in Helix I usually just use the buffer jump list, or quick jump with last buffer, or open the list of modified files (according to git), or use splits. All built-in functionality. 👍
It always baffled me with (neo)vim how it was so powerful, yet so incapable unless you put in a lot of work. The potential is there, it just doesn’t deliver unless you basically build your own experience on top of the vim platform.
It got to be too much for me, I think.