6 ms·
Sane Vim Plugin Management with Vundle
- john2x 15y agoInteresting. I just recently started using Pathogen, and it is a great improvement, but I do agree that updating plugins is still a chore. How well does Vundle work in Windows? And how does it organize the plugins?
- ctanksley 15y agoThe plugin author discusses that here: https://github.com/gmarik/vundle/wiki/Vundle-for-Windows https://github.com/gmarik/vundle/wiki/Vundle-for-Windows.
- rbxbx 15y agoUpdating your plugins (when using pathogen) is super-easy if they're stored in git somewhere. Dir.glob("#{ENV['HOME']}/.vimbundles/*").each do |d| next unless File.directory?(d) puts "updating #{d}" `cd #{d}; git pull --rebase; cd -` end in ruby, would be easy enough in bash/zsh/python/perl/ as well. see also: https://github.com/hashrocket/dotmatrix/blob/master/bin/vimbundles.sh https://github.com/hashrocket/dotmatrix/blob/master/bin/vimb...
- pasbesoin 15y ago...There is a growing consensus about Vim users that Pathogen is the best way to manage scripts. The idea behind pathogen is a fantastic one (to be honest, all of Tim Pope’s scripts are well-thought out and executed; pathogen being no exception)... You can get past the "Javascript required" message by disabling CSS (e.g. Web Developer Toolbar extension).
- redacted 15y agoNot arguing with his main points, but updating submodules for pathogen is easier than he says. To update submodules do (in the "main dir" of the git repo): git submodule foreach git pull
- john2x 15y agoThat assumes that all the plugins are installed via Git, right?
- deleted 15y ago[deleted]
- redacted 15y agoIt updates only those plugins that are installed as git submodules yes. Most recent bundles have git repos, but if they don't https://github.com/vim-scripts mirrors all plugins hosted on vim.org as clonable repos.
- nolite 15y agodid not know about this... this is official awesome
- ctanksley 15y agoPost author here. You're dead on about this. I could try to turn this into another reason why git + pathogen is lacking as a plugin management system (you have to know a lot about git!), but that is weak, so a better tack is to just agree. Question: is there an equally easy way to delete submodules? They're easy as pie to add, and you rightly point out that they are easy to update, but I never figured out an easy way to remove them. I was likely missing something, though.
- mattyb 15y agohttp://chrisjean.com/2009/04/20/git-submodules-adding-using-removing-and-updating/ http://chrisjean.com/2009/04/20/git-submodules-adding-using-...
- djacobs 15y agoIt baffles me how underdeveloped the git-submodule command is. I've never enjoyed that aspect of Vim bundle management, and this looks like a refreshing alternative. Is submodule-based package management gone for good? I'm going to wait and see. One thing is clear: the author understands the current Vim ecosystem and knows exactly what pain points still exist. He doesn't diminish how great Pathogen is but has come up with a way to make package management seamless, and for that reason, I'm going to give this a try.
- Fooman 15y agoI switched to using Vundle this morning (before seeing the article). It is an excellent way to manage VIM plugins.
- zzzmarcus 15y agoI've been using (and loving) vim-update-bundles for about 5 months now. I'm not sure how the two compare in terms of features, but the core functionality is the same. https://github.com/bronson/vim-update-bundles https://github.com/bronson/vim-update-bundles
- Adaptive 15y agoI truly prefer to use git-subtree with pathogen. 1. add a repo: $ git remote add remote-vim-surround https://github.com/tpope/vim-surround.git 2. git-subtree: $ git subtree add --prefix=vim/bundle/vim-surround remote-vim-surround master 3. occasional updates: $ git subtree pull --prefix=vim/bundle/vim-surround remote-vim-surround master The advantage of this method is that I can keep my config directory in git, pull it onto a new machine, and not have to update any submodules. It's just all there.
- Vitaly 15y agoI'm using pathogen with 'braid' to manage git based bundles. For example to add the rails plugin I can do: braid add git://github.com/tpope/vim-rails.git bundle/vim-rails then I can do `braid update bundle/vim-rails` to update just that or `braid update` to update all