Remix.run Logo
rapind 5 days ago

I’m literally just using git with vim.

leephillips 5 days ago | parent | next [-]

Me too. I don’t understand why people think they need plugin managers. I just git clone the plugin into blah/blah/start and if I feel like updating one I do a git pull.

gitaarik 5 days ago | parent | prev [-]

How do you keep your plugins up to date?

tasuki 5 days ago | parent | next [-]

Why would you want to keep your plugins up to date? How do you prevent breakage?

I update my plugins when I want/need to.

freedomben 5 days ago | parent [-]

Exactly. I update if I want a new feature or bug fix, but other than that I love the predictability of knowing nothing has changed, and when it does, exactly what changed. Being able to `git diff` and see what's new is wonderful

vasac 5 days ago | parent [-]

How many plugins do you use? I probably have at least 70–80. Tracking what’s changed would be a job in itself, so I just update all plugins regularly, the same way I update IntelliJ IDEA, Homebrew, or Linux packages. If a package breaks often, then I (and most other people) simply stop using it.

tasuki 4 days ago | parent [-]

> I probably have at least 70–80. Tracking what’s changed would be a job in itself, so I just update all plugins regularly

You and me have completely the opposite approach. You install everything you can get your hands on, I regularly prune my unused plugins to avoid bloat. I don't track what's changed: if I'm happy with a 10 year old version of a plugin, I don't see why I should update it.

> If a package breaks often, then I (and most other people) simply stop using it.

Unless there's a specific error message, how do you even know which package is responsible for the breakage? Ie a new visual glitch starts happening out of nowhere.

freedomben 4 days ago | parent [-]

I do the same thing. I have maybe 7 or 8 that I use, favoring built in functionality even if it's interior to what a plug-in might offer

recursivecaveat 5 days ago | parent | prev | next [-]

I recently switched to lazy because I wanted to experiment with some more complex plugins, but the answer is just: I didn't keep them up to date. If you're using basic text-oriented stuff like fzf or surround how often is it going to improve in a meaningful way once it has reached its fully-formed state? If it did get a noticeable update its probably more likely to annoy me by breaking my config or muscle memory than anything.

bayesianbot 5 days ago | parent | prev | next [-]

Am I the only one who thinks the way plugins are updated in lazy.nvim (and probably others) is a bit insane? It seems to just pull the latest commits. Every time I update, I feel one rogue commit away from someone stealing my keys. It definitely feels like the riskiest thing I do on my system. Or have I misunderstood something?

behnamoh 5 days ago | parent | next [-]

Thanks, new fear unlocked for me :')

For me, lazy.nvim doesn't pull the latest commits automatically. I have to <leader>-L and SHIFT-U it. And I don't do it often exactly because if there's an issue with the plugins I hope it's caught by others and addressed before I update mine.

sim7c00 5 days ago | parent | prev | next [-]

you are right to be worried about such practices. this is why i avoid these things entirely. its a bit more hastle but a lot less risk. once you have a good config u can just roll with that anyhow. but i guess in the same vein i dont use a lot of plugins.

the nr of times now people have been owned by rogue plugins via editors is rising each day...

gitaarik 5 days ago | parent | prev | next [-]

So you mean you review all the plugin code before you add it? And when there's an update you review the changes?

bayesianbot 5 days ago | parent | next [-]

So far I’ve just YOLO'd it. But if I install other software directly from git and the source isn’t fully reliable, I’ll usually at least check recent changes, or have codex take a look through the source, just like I read through PKGBUILDs when installing from AUR. It feels crazy that I then update LazyVim and suddenly pull in 150 new commits, some just minutes old, all with free access to my system.

recursivecaveat 5 days ago | parent | prev | next [-]

If you manual update infrequently you are leaving a period for other people to get burned and flag issues before you pull the change, even if you don't look into a thing yourself.

ratrocket 5 days ago | parent | next [-]

If your update is the simplest version, a "git pull" -- then you're incorporating commits that have not "stewed" long enough for anyone to be burned. You might win the lucky ticket! (Saying this as someone who rarely updates nvim plugins, out of forgetfulness, not principle, and when they are updated I believe it IS a simple "git pull"...)

gitaarik 5 days ago | parent | prev [-]

With a plugin manager you can also update infrequently

freedomben 5 days ago | parent | prev [-]

I mostly do, yes. There are exceptions for very mainstream and big plugins, but for the most part I do at least skim the new plugin code before committing it to my dotfiles repo. A nice thing about this ecosystem is for the most part, things don't change that quickly/often, and big refactors are quite rare

5 days ago | parent | prev [-]
[deleted]
wffurr 5 days ago | parent | prev | next [-]

I can’t recall the last time I updated a plugin. They are all working just fine.

gitaarik 5 days ago | parent | next [-]

I add new language support from time to time. And sometimes I want to update a plugin because of a fix or new feature support.

kzrdude 5 days ago | parent | prev [-]

I needed to update the lot when upgrading from neovim 0.10 to 0.11.x

rapind 5 days ago | parent | prev | next [-]

I don't really. It's not like I use that many, and they are all sort of "complete". This isn't JS where you need to update and change your libraries every 5 minutes.

root_axis 5 days ago | parent [-]

The same logic applies to js. vim plugins see updates on a weekly basis, you don't have to upgrade anything if what you have works for you.

t_mahmood 5 days ago | parent | prev | next [-]

Don't know about op, I had a script that would go through each plugin folder, check if it was a git folder, and pulled.

Now I use vimplug though

porridgeraisin 5 days ago | parent [-]

  git submodule update
t_mahmood 5 days ago | parent [-]

Hmm, when I set it up, mercury was a thing, so, the script handled both.

And, also, I was young, and that made me feel good :D

Piraty 5 days ago | parent | prev | next [-]

git pull. too often i found breake so i inspect git-log message prior to update, git-bisect came in handy once

OJFord 5 days ago | parent | prev [-]

'using git'

dkdcio 5 days ago | parent [-]

what’s the issue? you just git clone the repo into the correct directory

OJFord 5 days ago | parent | next [-]

There is no issue? I'm answering the question. This is how I do it too.

(There's sort of an issue in that I'd prefer to get it in neovim/lua, but that's not the point here.)

dkdcio 5 days ago | parent [-]

ohhh I misread what you were replying to! my bad

gitaarik 5 days ago | parent | prev [-]

Yeah and if you have 10 plugins you have to go into each folder and git pull. Then you might want to write a script for that. Or just use a plugin manager ;)

freedomben 5 days ago | parent | next [-]

I just wrote a simple bash script that has an array at the top with all the git remotes, and it iterates through them and git pulls (or clones if it doesn't exist yet). Took me like 10 minutes to write ~15 years ago and hasn't needed any changes. I can also trivially add a new entry to the array if I want to add a new plugin, or delete one if I'm not using it anymore. Then I also have a history of everything that changed so I can easily roll back if something breaks (which has happened several times)

dboon 5 days ago | parent | prev [-]

git submodule update —init

gitaarik 5 days ago | parent [-]

Yeah, I also used submodules first. But removing a git submodule is a bit of a pain. Like 3 or 4 steps or something, which I usually need to look up how to do it again. And if you're experimenting with new plugins, trying them out, installing them and then removing them again, it's a lot easier with a plugin manager.