

Sane Vim Plugin Management with Vundle - 1336
http://www.charlietanksley.net/philtex/sane-vim-plugin-management/

======
redacted
Not 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
That assumes that all the plugins are installed via Git, right?

~~~
redacted
It 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
did not know about this... this is official awesome

------
Adaptive
I 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.

------
john2x
Interesting. 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
The plugin author discusses that here:
<https://github.com/gmarik/vundle/wiki/Vundle-for-Windows>.

------
rbxbx
Updating 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/vimb...](https://github.com/hashrocket/dotmatrix/blob/master/bin/vimbundles.sh)

------
djacobs
It 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.

------
Vitaly
I'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

------
zzzmarcus
I'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>

------
Fooman
I switched to using Vundle this morning (before seeing the article). It is an
excellent way to manage VIM plugins.

------
pasbesoin
_...There is a grow­ing con­sen­sus about Vim users that Pathogen is the best
way to man­age scripts. The idea behind pathogen is a fan­tas­tic one (to be
hon­est, all of Tim Pope’s scripts are well-thought out and exe­cuted;
pathogen being no exception)..._

You can get past the "Javascript required" message by disabling CSS (e.g. Web
Developer Toolbar extension).

