this post was submitted on 04 Jun 2025
720 points (93.6% liked)

Programmer Humor

23844 readers
3297 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] pixxelkick@lemmy.world 77 points 2 days ago (1 children)

quietly scoots his entire github repo for his neovim configuration and 200+ plugins behind his back

Haha yeah totally

[โ€“] victorz@lemmy.world 14 points 2 days ago (1 children)

What on earth do you need/use 200+ plugins for? Can you name a tenth of the uses off-hand? ๐Ÿ˜…

[โ€“] pixxelkick@lemmy.world 20 points 2 days ago (3 children)

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):

  • 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

The list goes on and on haha

[โ€“] theblips@lemm.ee 5 points 2 days ago (2 children)

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

[โ€“] pixxelkick@lemmy.world 4 points 2 days ago

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

[โ€“] victorz@lemmy.world 3 points 2 days ago

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.

[โ€“] martinb@lemmy.sdf.org 3 points 2 days ago (1 children)

LunarVim is the lazy way forwards

[โ€“] idriss@lemm.ee 2 points 1 day ago (1 children)

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.

[โ€“] martinb@lemmy.sdf.org 3 points 1 day ago

I have never heard of lazy vim. Will investigate! Thanks

[โ€“] victorz@lemmy.world 1 points 2 days ago (1 children)

Makes more sense now I guess. ๐Ÿ˜…

Tabs though? Neovim already has tabs support out of the box, right?

[โ€“] pixxelkick@lemmy.world 1 points 2 days ago (1 children)

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.

[โ€“] victorz@lemmy.world 1 points 2 days ago

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.