Loading ...
Sorry, an error occurred while loading the content.

which plugin management system to use?

Expand Messages
  • Marc Weber
    I d personally say VAM - but others seem to think differently about it. So I started a file which should help you find your tool of choice:
    Message 1 of 29 , Mar 21 3:18 AM
    • 0 Attachment
      I'd personally say VAM - but others seem to think differently about it.
      So I started a file which should help you find your tool of choice:
      https://github.com/MarcWeber/vim-addon-manager/blob/vam-vs/VAM-VS.txt
      (This list is based on the link list found on vim-scripts.org/vim/tools.html)

      I'm interested in:

      - did the authors know about VAM when starting their projects?
      If so why did they still start a new project?
      If not how to make it more likely that users stumble upon VAM?

      - What features do users like / dislike.

      - make it easier for users to find out whether they should use VAM or
      a different solution.

      I personally don't see a point in maintaining a plugin managers if
      others already do so. So if the outcome of this comparison is that other
      prefer other management systems (for whatever reason) I'll consider
      stopping support for VAM and joining those projects.
      I don't want to duplicate work ..

      There are other Vim related topics I could spend my time on instead.

      Marc Weber

      --
      You received this message from the "vim_use" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    • Tom Link
      ... I think such a comparison should best be publicly editable. A gdocs spreadsheet or a wiki page would IMHO seem to be the better choice. I d also add bash +
      Message 2 of 29 , Mar 21 4:39 AM
      • 0 Attachment
        > So I started a file which should help you find your tool of choice:https://github.com/MarcWeber/vim-addon-manager/blob/vam-vs/VAM-VS.txt
        > (This list is based on the link list found on vim-scripts.org/vim/tools.html)

        I think such a comparison should best be publicly editable. A gdocs
        spreadsheet or a wiki page would IMHO seem to be the better choice.

        I'd also add bash + git to the list, which I used for a long time. In
        the meantime I wrote a small ruby script (https://github.com/tomtom/
        vcsdo), which I use now.

        If you want your list to help new users to make up there mind, I'd
        also include programming language, other requirements, and integration
        with vim to the list.

        Regards,
        Tom

        --
        You received this message from the "vim_use" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php
      • Marc Weber
        ... If someone seconds it I ll do so. For now its fine to paste missing info as reply to this thread. This way I get an idea about how many users are
        Message 3 of 29 , Mar 21 6:37 AM
        • 0 Attachment
          Excerpts from Tom Link's message of Mon Mar 21 12:39:57 +0100 2011:
          > I think such a comparison should best be publicly editable. A gdocs
          > spreadsheet or a wiki page would IMHO seem to be the better choice.
          If someone seconds it I'll do so.
          For now its fine to paste missing info as reply to this thread.
          This way I get an idea about how many users are interested in this topic
          at all..

          > I'd also add bash + git to the list, which I used for a long time.
          What do you mean by bash + git?
          There are various ways bash and git can be used.

          Eg

          git clone REPO ~/REPO
          cat >> ~/.vimrc << EOF
          set rtp+=~/REPO
          EOF

          > the meantime I wrote a small ruby script (https://github.com/tomtom/vcsdo), which I use now.
          >

          > If you want your list to help new users to make up there mind, I'd
          > also include programming language,
          done

          other requirements,
          like curl executable er has('python')?

          > and integration with vim to the list.
          What do you mean by "integration"?
          Two things come to my mind:
          1) can be run using commands within Vim
          (you can add commands yourself ..)
          2) can add install plugins without restarting ?
          Only VimL can and only VAM has some workarounds such as sourcing
          /after FAIK.

          I've added comments about it.

          Marc Weber

          --
          You received this message from the "vim_use" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php
        • Tom Link
          ... Any homegrown shell script that updates a bunch of repos. ... External programs like: wget, unzip, tar, gzip Perl/python/ruby packages/libraries etc. A
          Message 4 of 29 , Mar 21 11:44 AM
          • 0 Attachment
            On 21 Mrz., 14:37, Marc Weber <marco-owe...@...> wrote:
            > > I'd also add bash + git to the list, which I used for a long time.
            >
            > What do you mean by bash + git?

            Any homegrown shell script that updates a bunch of repos.

            > other requirements,
            > like curl executable er has('python')?

            External programs like: wget, unzip, tar, gzip
            Perl/python/ruby packages/libraries etc. A perl/python/ruby-based
            solution usually isn't that easy to use for somebody who doesn't use
            that language for development and hence doesn't know how to install
            this or that library.

            > What do you mean by "integration"?

            It's probably synonymous to "written in vimscript and can be invoked
            from the vim command-line". VAM, vimball, GLVS provide IMHO full
            integration with vim. An external programm most likely does not. I
            think it really depends on personal preferences which one you'd like
            more. I for one have slight preferences for a scriptable external
            solution.

            Regards,
            Tom

            --
            You received this message from the "vim_use" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php
          • Israel Chauca F.
            ... I use modified pathogen [1] that uses a file to handle disabling plugins and it relies on VAM to install/remove/(update pending since VAM was going to
            Message 5 of 29 , Mar 21 12:16 PM
            • 0 Attachment
              On Mar 21, 2011, at 5:18 AM, Marc Weber wrote:

              > I'd personally say VAM - but others seem to think differently about it.
              > So I started a file which should help you find your tool of choice:
              > https://github.com/MarcWeber/vim-addon-manager/blob/vam-vs/VAM-VS.txt
              > (This list is based on the link list found on vim-scripts.org/vim/tools.html)
              >
              > I'm interested in:
              >
              > - did the authors know about VAM when starting their projects?
              > If so why did they still start a new project?
              > If not how to make it more likely that users stumble upon VAM?

              I use modified pathogen [1] that uses a file to handle disabling plugins and it relies on VAM to install/remove/(update pending since VAM was going to change that functionality) plugins, with support for completion.

              > - What features do users like / dislike.

              * Easy installation/removing/update of plugins.
              * Simple handling of runtimepath.
              * I don't like having a list of plugins in my vimrc.
              * I have multiple bundle dirs and some times I have two versions of the same plugin, I like to be able to choose which one should be disabled.
              * Doing all the plugin operations from the command line.

              > - make it easier for users to find out whether they should use VAM or
              > a different solution.
              >
              > I personally don't see a point in maintaining a plugin managers if
              > others already do so. So if the outcome of this comparison is that other
              > prefer other management systems (for whatever reason) I'll consider
              > stopping support for VAM and joining those projects.
              > I don't want to duplicate work ..

              What I find most useful of VAM is the plugin management functionality. That's why I forked pathogen and integrated the plugin management functionality from VAM plus the features I mentioned up there.

              I can't say if you should or not keep working on VAM, but I'd like to have something like that to handle my plugins.

              Israel

              [1] https://github.com/Raimondi/vim-pathogen

              --
              You received this message from the "vim_use" maillist.
              Do not top-post! Type your reply below the text you are replying to.
              For more information, visit http://www.vim.org/maillist.php
            • Marc Weber
              ... So this would mean authors must add a description how to use easyinstall/ gem/ or other commands. ... I expect most Vim users to know how to write a custom
              Message 6 of 29 , Mar 21 4:53 PM
              • 0 Attachment
                Excerpts from Tom Link's message of Mon Mar 21 19:44:55 +0100 2011:
                > External programs like: wget, unzip, tar, gzip
                > Perl/python/ruby packages/libraries etc. A perl/python/ruby-based
                > solution usually isn't that easy to use for somebody who doesn't use
                > that language for development and hence doesn't know how to install
                > this or that library.
                So this would mean authors must add a description how to use
                easyinstall/ gem/ or other commands.

                > > What do you mean by "integration"?
                > It's probably synonymous to "written in vimscript and can be invoked
                I expect most Vim users to know how to write a custom command / mapping.
                So this does not really matter.

                You can script VAM using -c or --cmd. See the test .sh file top level
                directory. (Yes - it may suck and maybe breaks eg error reporting and
                that)

                Should the core (manipulating paths, eg run git pull) be separated from
                manipulating runtimepath? Than having two user interfaces (Vim and
                command line) would be possible.

                Marc Weber

                --
                You received this message from the "vim_use" maillist.
                Do not top-post! Type your reply below the text you are replying to.
                For more information, visit http://www.vim.org/maillist.php
              • Marc Weber
                Hi Israel Chauca F, ... Can you elaborate? Also keep in mind that you can use htis: call vam#Activate(map(glob( ~/vim-addons/* ), fnamemodify( something ) ))
                Message 7 of 29 , Mar 21 5:01 PM
                • 0 Attachment
                  Hi Israel Chauca F,

                  > On Mar 21, 2011, at 5:18 AM, Marc Weber wrote:
                  > * I don't like having a list of plugins in my vimrc.
                  Can you elaborate?
                  Also keep in mind that you can use htis:

                  call vam#Activate(map(glob("~/vim-addons/*"),' fnamemodify( something
                  )'))

                  Then only the list of installed plugins will be activated.
                  Also you could place the list into a file and load that using readfile?

                  Would this feel better to your taste?

                  > * I have multiple bundle dirs and some times I have two versions of
                  > the same plugin, I like to be able to choose which one should be
                  > disabled.

                  If the plugins you have two versions of are VCS driven plugins or if you
                  don't want to update them you can rename the paths easily and then
                  activate the new name rather than the one which has been used when
                  installing..

                  > * Doing all the plugin operations from the command line.
                  See other thread. Separating installation from activation would allow
                  that.

                  > What I find most useful of VAM is the plugin management functionality.
                  > That's why I forked pathogen and integrated the plugin management
                  > functionality from VAM plus the features I mentioned up there.

                  So was this all caused by "I don't want to put a plugin list into
                  ~/.vimrc"?
                  Does the solution shown above which automatically finds installed
                  plugins to activate (thus add to rtp) satisfy your needs?
                  Or does pathogen provide more features you care about?

                  How do you select the one or the other set of plugins when you need
                  them?

                  Eg the VAM way would be:

                  command ActivateAdditionalPluginsA ActivateAddons additional-A
                  command ActivateAdditionalPluginsB ActivateAddons additional-B

                  There are rare cases where order of activation matters.

                  Marc Weber

                  --
                  You received this message from the "vim_use" maillist.
                  Do not top-post! Type your reply below the text you are replying to.
                  For more information, visit http://www.vim.org/maillist.php
                • Marko Mahnič
                  On Mar 21, 8:16 pm, Israel Chauca F. ... I manage plugins in a separate file like this: let s:bundlerc = $MYVIMDIR .
                  Message 8 of 29 , Mar 22 3:05 AM
                  • 0 Attachment
                    On Mar 21, 8:16 pm, "Israel Chauca F." <israelvar...@...>
                    wrote:
                    > * I don't like having a list of plugins in my vimrc.

                    I manage plugins in a separate file like this:

                    let s:bundlerc = $MYVIMDIR . '/vimbundlerc'
                    " or: let s:bundlerc = globpath(&rtp, 'vimbundlerc')
                    if filereadable(s:bundlerc)
                    exec 'source ' . s:bundlerc
                    endif

                    > * I have multiple bundle dirs and some times I have two versions of the same plugin, I like to be able to choose which one should be disabled.

                    I like to have the plugins stored in the directory named as I choose,
                    so I have something like the following in vimbundlerc:

                    " PLUGIN: x/indentPython: https://github.com/vim-scripts/indentpython.vim.git
                    " call s:Add(['x/indentPython'])

                    " PLUGIN: x/indentPython2: https://github.com/vim-scripts/indentpython.git
                    call s:Add(['x/indentPython2'])

                    The separate (Python) downloader script then downloads the scripts
                    into correct directories under .bundles.

                    I prefer to enable the plugins in a two step process. First I Add()
                    the plugins I want, then I Activate() the added plugins. I find it
                    easier to disable the plugins I don't want by commenting out the Add()
                    lines. The main purpose of Activate() is to set up the runtimepath.

                    I like to configure the plugins only if they are activated so I have
                    blocks like this in vimbundlerc:

                    if s:Has('indentPython2')
                    " ...
                    endif

                    if s:Has('bufexplorer')
                    map <S-F3> \\be
                    endif

                    I created my own system because at the time I didn't know of a system
                    that would support all the desired features.

                    Marko

                    --
                    You received this message from the "vim_use" maillist.
                    Do not top-post! Type your reply below the text you are replying to.
                    For more information, visit http://www.vim.org/maillist.php
                  • Marc Weber
                    ... In Vam you have two functions: Install and ActivateAddons representing both phases. Internally you can access a dict to find out which addons have been
                    Message 9 of 29 , Mar 22 9:16 AM
                    • 0 Attachment
                      Excerpts from Marko Mahnič's message of Tue Mar 22 11:05:45 +0100 2011:
                      > I prefer to enable the plugins in a two step process. First I Add()
                      In Vam you have two functions:
                      Install and ActivateAddons representing both phases.

                      Internally you can access a dict to find out which addons have been
                      activated:

                      if 1 == get(g:vim_addon_manager.activated_addons,"NAME",0)
                      " plugin NAME was activated
                      endif

                      So it looks like VAM could get your job done easily.

                      Marc Weber

                      --
                      You received this message from the "vim_use" maillist.
                      Do not top-post! Type your reply below the text you are replying to.
                      For more information, visit http://www.vim.org/maillist.php
                    • Marc Weber
                      Excerpts from Marc Weber s message of Tue Mar 22 00:53:37 +0100 2011: I ve added a new bug to VAM s issue tracker:
                      Message 10 of 29 , Mar 22 9:24 AM
                      • 0 Attachment
                        Excerpts from Marc Weber's message of Tue Mar 22 00:53:37 +0100 2011:

                        I've added a new bug to VAM's issue tracker:
                        https://github.com/MarcWeber/vim-addon-manager/issues/34

                        If you support the idea of separating installation implementation from
                        runtime path handling so that external scripting solutions can be used
                        also providing command line access vote by adding a comment.

                        Marc Weber

                        --
                        You received this message from the "vim_use" maillist.
                        Do not top-post! Type your reply below the text you are replying to.
                        For more information, visit http://www.vim.org/maillist.php
                      • Marko Mahnič
                        ... They both take a list of plugins to install or activate. What I have is a 2 step process for activation. Add() just adds the plugin to the list of plugins
                        Message 11 of 29 , Mar 23 12:32 AM
                        • 0 Attachment
                          On Mar 22, 5:16 pm, Marc Weber <marco-owe...@...> wrote:
                          > Excerpts from Marko Mahnič's message of Tue Mar 22 11:05:45 +0100 2011:> I prefer to enable the plugins in a two step process. First I Add()
                          >
                          > In Vam you have two functions:
                          > Install and ActivateAddons representing both phases.
                          >
                          They both take a list of plugins to install or activate. What I have
                          is a 2 step process for activation. Add() just adds the plugin to the
                          list of plugins to be activated. Activate() has no parameters and uses
                          the list created by Add() calls.

                          Anyway, it is trivial to adapt Add(), Activate() and Has() to use VAM.

                          Thanks,
                          Marko

                          --
                          You received this message from the "vim_use" maillist.
                          Do not top-post! Type your reply below the text you are replying to.
                          For more information, visit http://www.vim.org/maillist.php
                        • Marc Weber
                          ... This sounds like let names = [] do this for each pugin preparing a list to be activated call add(names, new_name ); call add(names, new_name ); call
                          Message 12 of 29 , Mar 23 2:29 AM
                          • 0 Attachment
                            Excerpts from Marko Mahnič's message of Wed Mar 23 08:32:33 +0100 2011:
                            > They both take a list of plugins to install or activate. What I have
                            > is a 2 step process for activation. Add() just adds the plugin to the
                            > list of plugins to be activated. Activate() has no parameters and uses
                            > the list created by Add() calls.
                            This sounds like

                            let names = []

                            " do this for each pugin preparing a list to be activated
                            call add(names,"new_name");
                            call add(names,"new_name");

                            call vam#ActivateAddons(names)

                            So yes - you're right :)

                            Marc Weber

                            --
                            You received this message from the "vim_use" maillist.
                            Do not top-post! Type your reply below the text you are replying to.
                            For more information, visit http://www.vim.org/maillist.php
                          • Israel Chauca F.
                            ... Listing every plugin like this: call Activate(plugin1, plugin2, plugin3,...) or call Activate(plugin1) call Activate(plugin2) ... bothers me, I prefer to
                            Message 13 of 29 , Mar 23 11:56 AM
                            • 0 Attachment
                              On Mar 21, 2011, at 7:01 PM, Marc Weber wrote:

                              > Hi Israel Chauca F,
                              >
                              >> On Mar 21, 2011, at 5:18 AM, Marc Weber wrote:
                              >> * I don't like having a list of plugins in my vimrc.
                              > Can you elaborate?
                              Listing every plugin like this:

                              call Activate(plugin1, plugin2, plugin3,...)

                              or

                              call Activate(plugin1)
                              call Activate(plugin2)
                              ...

                              bothers me, I prefer to just list the dirs:

                              call Use(dir1, dir2)

                              > Also keep in mind that you can use htis:
                              >
                              > call vam#Activate(map(glob("~/vim-addons/*"),' fnamemodify( something
                              > )'))
                              >
                              > Then only the list of installed plugins will be activated.
                              > Also you could place the list into a file and load that using readfile?
                              >
                              > Would this feel better to your taste?

                              I prefer this approach, as I explain below.

                              >> * I have multiple bundle dirs and some times I have two versions of
                              >> the same plugin, I like to be able to choose which one should be
                              >> disabled.
                              >
                              > If the plugins you have two versions of are VCS driven plugins or if you
                              > don't want to update them you can rename the paths easily and then
                              > activate the new name rather than the one which has been used when
                              > installing..

                              True, but there is no reason why the rtp manager couldn't handle that task.

                              >> * Doing all the plugin operations from the command line.
                              > See other thread. Separating installation from activation would allow
                              > that.
                              >
                              >> What I find most useful of VAM is the plugin management functionality.
                              >> That's why I forked pathogen and integrated the plugin management
                              >> functionality from VAM plus the features I mentioned up there.
                              >
                              > So was this all caused by "I don't want to put a plugin list into
                              > ~/.vimrc"?

                              Well, that was a part of it.

                              I chose pathogen as my rtp manager basically for one reason, its simplicity. One line in my vimrc would allow all the magic to unfold and modify my rtp.

                              But there were some shortcomings at the moment, it was a bit too simple to our taste. So we (bairui on #vim and I) worked on extending pathogen with the following ideas:

                              - Support multiple 'bundle' dirs.
                              - Persistent enabling/disabling of plugins across vim sessions. We use a file to store that information, so it's like the solution you offered up there.
                              - A command line interface

                              For the plugin management, we wanted a 100% VimL solution with support for most of the formats on which plugins are available. So, seeing that VAM seemed to support being used as a library and it supported a lot of the crazy formats Vim scripts are available, we extended our recently added command line interface to use VAM as the plugin manager.

                              > Does the solution shown above which automatically finds installed
                              > plugins to activate (thus add to rtp) satisfy your needs?
                              > Or does pathogen provide more features you care about?

                              See my previous answer.

                              > How do you select the one or the other set of plugins when you need
                              > them?

                              We haven't implemented this yet, all 'bundle' dirs are used. but I was thinking that giving a partial or absolute path would be enough to select one of them. Since we have a list command that shows all bundle dirs and plugins, we could put numbers to every line of the output and work like :ls and :buffer.

                              > Eg the VAM way would be:
                              >
                              > command ActivateAdditionalPluginsA ActivateAddons additional-A
                              > command ActivateAdditionalPluginsB ActivateAddons additional-B
                              >
                              > There are rare cases where order of activation matters.

                              I'm not sure about your example, would you have a command for every set of plugins? When it's implemented the way to do this should be

                              :Plugin bundle disable bundleA

                              or something similar.

                              Does activation implies VAM sourcing the files? If so, I don't like it, I really want to just modify rtp and let Vim do its job. I don't care that much if I have to restart Vim after installing/removing plugins.

                              Israel

                              --
                              You received this message from the "vim_use" maillist.
                              Do not top-post! Type your reply below the text you are replying to.
                              For more information, visit http://www.vim.org/maillist.php
                            • ZyX
                              Reply to message «Re: which plugin management system to use?», sent 21:56:42 23 March 2011, Wednesday ... If you have more then 20 plugins, you will have to
                              Message 14 of 29 , Mar 23 12:20 PM
                              • 0 Attachment
                                Reply to message «Re: which plugin management system to use?»,
                                sent 21:56:42 23 March 2011, Wednesday
                                by Israel Chauca F.:

                                > Listing every plugin like this:
                                >
                                > call Activate(plugin1, plugin2, plugin3,...)
                                If you have more then 20 plugins, you will have to use
                                ``vam#ActivateAddons([plugin1, plugin2, ...])'' (note the brackets).

                                > call Activate(plugin1)
                                > call Activate(plugin2)
                                You may try using command `ActivateAddons' after first call to
                                `vam#ActivateAddons'. Though it does not fix the fact that all plugins that you
                                use are to be explicitely activated.

                                > bothers me, I prefer to just list the dirs:
                                >
                                > call Use(dir1, dir2)
                                This will break the fact that to reproduce the configuration on other system all
                                you need is to clone ~/.vimrc (+~/.vim with short ftplugins), then VAM will
                                install required plugins on startup. Without multiple directories I have a dump
                                at ~/.vam ... but I do not care much about it as I know plugin names that I want
                                to make use of without activating and zsh has very good completion.

                                > True, but there is no reason why the rtp manager couldn't handle that task.
                                You want a command such as `RenameAddon {a} {b}'? It is easy to write it by
                                yourself (untested):

                                command -nargs=+ RenameAddon call call("rename", map([<q-args>],
                                'g:vim_addon_manager.plugin_root_dir . "/" . v:val'))

                                > Does activation implies VAM sourcing the files? If so, I don't like it, I
                                > really want to just modify rtp and let Vim do its job. I don't care that
                                > much if I have to restart Vim after installing/removing plugins.
                                It implies it only under one of two conditions:
                                1. Vim has already started, so it won't source anything when you modify rtp.
                                2. Plugin has `after' directory.

                                Original message:
                                > On Mar 21, 2011, at 7:01 PM, Marc Weber wrote:
                                > > Hi Israel Chauca F,
                                > >
                                > >> On Mar 21, 2011, at 5:18 AM, Marc Weber wrote:
                                > >> * I don't like having a list of plugins in my vimrc.
                                > >
                                > > Can you elaborate?
                                >
                                > Listing every plugin like this:
                                >
                                > call Activate(plugin1, plugin2, plugin3,...)
                                >
                                > or
                                >
                                > call Activate(plugin1)
                                > call Activate(plugin2)
                                > ...
                                >
                                > bothers me, I prefer to just list the dirs:
                                >
                                > call Use(dir1, dir2)
                                >
                                > > Also keep in mind that you can use htis:
                                > >
                                > > call vam#Activate(map(glob("~/vim-addons/*"),' fnamemodify( something
                                > > )'))
                                > >
                                > > Then only the list of installed plugins will be activated.
                                > > Also you could place the list into a file and load that using readfile?
                                > >
                                > > Would this feel better to your taste?
                                >
                                > I prefer this approach, as I explain below.
                                >
                                > >> * I have multiple bundle dirs and some times I have two versions of
                                > >> the same plugin, I like to be able to choose which one should be
                                > >> disabled.
                                > >
                                > > If the plugins you have two versions of are VCS driven plugins or if you
                                > > don't want to update them you can rename the paths easily and then
                                > > activate the new name rather than the one which has been used when
                                > > installing..
                                >
                                > True, but there is no reason why the rtp manager couldn't handle that task.
                                >
                                > >> * Doing all the plugin operations from the command line.
                                > >
                                > > See other thread. Separating installation from activation would allow
                                > > that.
                                > >
                                > >> What I find most useful of VAM is the plugin management functionality.
                                > >> That's why I forked pathogen and integrated the plugin management
                                > >> functionality from VAM plus the features I mentioned up there.
                                > >
                                > > So was this all caused by "I don't want to put a plugin list into
                                > > ~/.vimrc"?
                                >
                                > Well, that was a part of it.
                                >
                                > I chose pathogen as my rtp manager basically for one reason, its
                                > simplicity. One line in my vimrc would allow all the magic to unfold and
                                > modify my rtp.
                                >
                                > But there were some shortcomings at the moment, it was a bit too simple to
                                > our taste. So we (bairui on #vim and I) worked on extending pathogen with
                                > the following ideas:
                                >
                                > - Support multiple 'bundle' dirs.
                                > - Persistent enabling/disabling of plugins across vim sessions. We use a
                                > file to store that information, so it's like the solution you offered up
                                > there. - A command line interface
                                >
                                > For the plugin management, we wanted a 100% VimL solution with support for
                                > most of the formats on which plugins are available. So, seeing that VAM
                                > seemed to support being used as a library and it supported a lot of the
                                > crazy formats Vim scripts are available, we extended our recently added
                                > command line interface to use VAM as the plugin manager.
                                >
                                > > Does the solution shown above which automatically finds installed
                                > > plugins to activate (thus add to rtp) satisfy your needs?
                                > > Or does pathogen provide more features you care about?
                                >
                                > See my previous answer.
                                >
                                > > How do you select the one or the other set of plugins when you need
                                > > them?
                                >
                                > We haven't implemented this yet, all 'bundle' dirs are used. but I was
                                > thinking that giving a partial or absolute path would be enough to select
                                > one of them. Since we have a list command that shows all bundle dirs and
                                > plugins, we could put numbers to every line of the output and work like
                                > :ls and :buffer.
                                >
                                > > Eg the VAM way would be:
                                > >
                                > > command ActivateAdditionalPluginsA ActivateAddons additional-A
                                > > command ActivateAdditionalPluginsB ActivateAddons additional-B
                                > >
                                > > There are rare cases where order of activation matters.
                                >
                                > I'm not sure about your example, would you have a command for every set of
                                > plugins? When it's implemented the way to do this should be
                                >
                                > :Plugin bundle disable bundleA
                                >
                                > or something similar.
                                >
                                > Does activation implies VAM sourcing the files? If so, I don't like it, I
                                > really want to just modify rtp and let Vim do its job. I don't care that
                                > much if I have to restart Vim after installing/removing plugins.
                                >
                                > Israel
                              • Israel Chauca F.
                                ... Hash: SHA1 ... I don t use VAM to manage my rtp, it s just to show the idea. ... Ditto. ... That might be important or not, if it is, don t use multiple
                                Message 15 of 29 , Mar 23 1:35 PM
                                • 0 Attachment
                                  -----BEGIN PGP SIGNED MESSAGE-----
                                  Hash: SHA1


                                  On Mar 23, 2011, at 2:20 PM, ZyX wrote:

                                  > Reply to message «Re: which plugin management system to use?»,
                                  > sent 21:56:42 23 March 2011, Wednesday
                                  > by Israel Chauca F.:
                                  >
                                  >> Listing every plugin like this:
                                  >>
                                  >> call Activate(plugin1, plugin2, plugin3,...)
                                  > If you have more then 20 plugins, you will have to use
                                  > ``vam#ActivateAddons([plugin1, plugin2, ...])'' (note the brackets).

                                  I don't use VAM to manage my rtp, it's just to show the idea.

                                  >> call Activate(plugin1)
                                  >> call Activate(plugin2)
                                  > You may try using command `ActivateAddons' after first call to
                                  > `vam#ActivateAddons'. Though it does not fix the fact that all plugins that you
                                  > use are to be explicitely activated.

                                  Ditto.

                                  >> bothers me, I prefer to just list the dirs:
                                  >>
                                  >> call Use(dir1, dir2)
                                  > This will break the fact that to reproduce the configuration on other system all
                                  > you need is to clone ~/.vimrc (+~/.vim with short ftplugins), then VAM will
                                  > install required plugins on startup. Without multiple directories I have a dump
                                  > at ~/.vam ... but I do not care much about it as I know plugin names that I want
                                  > to make use of without activating and zsh has very good completion.

                                  That might be important or not, if it is, don't use multiple dirs. But if it's not, use as many dirs as you need.

                                  >> True, but there is no reason why the rtp manager couldn't handle that task.
                                  > You want a command such as `RenameAddon {a} {b}'? It is easy to write it by
                                  > yourself (untested):
                                  >
                                  > command -nargs=+ RenameAddon call call("rename", map([<q-args>],
                                  > 'g:vim_addon_manager.plugin_root_dir . "/" . v:val'))

                                  I wasn't implying that VAM should support this, just pointing out that the rtp manager could handle it by itself through the interface.

                                  >> Does activation implies VAM sourcing the files? If so, I don't like it, I
                                  >> really want to just modify rtp and let Vim do its job. I don't care that
                                  >> much if I have to restart Vim after installing/removing plugins.
                                  > It implies it only under one of two conditions:
                                  > 1. Vim has already started, so it won't source anything when you modify rtp.
                                  > 2. Plugin has `after' directory.

                                  I see. Point 2 suggest to me that VAM will source plugins that have an after dir even when Vim starts up, is that so? That's what I understood when I was considering it to manage my rtp and that was the reason for me to choose something else. As I wrote before, I don't mind restarting Vim after installing a plugin.

                                  Israel
                                  -----BEGIN PGP SIGNATURE-----
                                  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)

                                  iQEcBAEBAgAGBQJNilmoAAoJELVPg0fIpMsD/GEH/iLpudOZ8rT5kbiPS3f+wJyd
                                  KonhoboqPLssfiYSZg8Gjcy+psxhCsRD+PhiDj35mr2/Qqe+Vu7TST5GTWTy4gpS
                                  YKVpdwr8BpDcZ+BGuX1k2QgLEhYNxoTztHSIM8+yRPLueyWBiMvnAMMEj7JToYyG
                                  gbtlfi6kEQ1Q1/r1SHkrDUr0GVECHGnVljZCo9sxC0FJ03LajjYP2EZVSdCKdre2
                                  bLUg7xEheGArXatmukRW9Yq5/sCIEB8O2Gbqsoxd33lyDQeOyi6zKVLrHhNIVy/J
                                  B8nd/xZFUK9uhmPHzdwrtcUzy+ZHzUgCJyDnKCCmvXRwKYCf80fyBPQvAyDv5uE=
                                  =p5Ej
                                  -----END PGP SIGNATURE-----

                                  --
                                  You received this message from the "vim_use" maillist.
                                  Do not top-post! Type your reply below the text you are replying to.
                                  For more information, visit http://www.vim.org/maillist.php
                                • ZyX
                                  Reply to message «Re: which plugin management system to use?», sent 23:35:51 23 March 2011, Wednesday ... It would not be doing it if vim did sourcing of
                                  Message 16 of 29 , Mar 23 2:02 PM
                                  • 0 Attachment
                                    Reply to message «Re: which plugin management system to use?»,
                                    sent 23:35:51 23 March 2011, Wednesday
                                    by Israel Chauca F.:

                                    > I see. Point 2 suggest to me that VAM will source plugins that have an
                                    > after dir even when Vim starts up, is that so? That's what I understood
                                    > when I was considering it to manage my rtp and that was the reason for me
                                    > to choose something else. As I wrote before, I don't mind restarting Vim
                                    > after installing a plugin.
                                    It would not be doing it if vim did sourcing of `after' directory. Just a hack
                                    for plugins that use directory that are not supposed to be used by anyone but
                                    the user itself (and user is supposed to use this directory only for plugins
                                    that are enough poorly designed to unconditionally override mappings/options/...
                                    defined by user). And VAM is not `sourcing plugins that have after directory'.
                                    It sources vim files in `after' directory on VimEnter event, not the whole
                                    plugin.

                                    Original message:
                                    > On Mar 23, 2011, at 2:20 PM, ZyX wrote:
                                    > > Reply to message «Re: which plugin management system to use?»,
                                    > > sent 21:56:42 23 March 2011, Wednesday
                                    > >
                                    > > by Israel Chauca F.:
                                    > >> Listing every plugin like this:
                                    > >>
                                    > >> call Activate(plugin1, plugin2, plugin3,...)
                                    > >
                                    > > If you have more then 20 plugins, you will have to use
                                    > > ``vam#ActivateAddons([plugin1, plugin2, ...])'' (note the brackets).
                                    >
                                    > I don't use VAM to manage my rtp, it's just to show the idea.
                                    >
                                    > >> call Activate(plugin1)
                                    > >> call Activate(plugin2)
                                    > >
                                    > > You may try using command `ActivateAddons' after first call to
                                    > > `vam#ActivateAddons'. Though it does not fix the fact that all plugins
                                    > > that you use are to be explicitely activated.
                                    >
                                    > Ditto.
                                    >
                                    > >> bothers me, I prefer to just list the dirs:
                                    > >>
                                    > >> call Use(dir1, dir2)
                                    > >
                                    > > This will break the fact that to reproduce the configuration on other
                                    > > system all you need is to clone ~/.vimrc (+~/.vim with short ftplugins),
                                    > > then VAM will install required plugins on startup. Without multiple
                                    > > directories I have a dump at ~/.vam ... but I do not care much about it
                                    > > as I know plugin names that I want to make use of without activating and
                                    > > zsh has very good completion.
                                    >
                                    > That might be important or not, if it is, don't use multiple dirs. But if
                                    > it's not, use as many dirs as you need.
                                    >
                                    > >> True, but there is no reason why the rtp manager couldn't handle that
                                    > >> task.
                                    > >
                                    > > You want a command such as `RenameAddon {a} {b}'? It is easy to write it
                                    > > by yourself (untested):
                                    > >
                                    > > command -nargs=+ RenameAddon call call("rename", map([<q-args>],
                                    > > 'g:vim_addon_manager.plugin_root_dir . "/" . v:val'))
                                    >
                                    > I wasn't implying that VAM should support this, just pointing out that the
                                    > rtp manager could handle it by itself through the interface.
                                    >
                                    > >> Does activation implies VAM sourcing the files? If so, I don't like it,
                                    > >> I really want to just modify rtp and let Vim do its job. I don't care
                                    > >> that much if I have to restart Vim after installing/removing plugins.
                                    > >
                                    > > It implies it only under one of two conditions:
                                    > > 1. Vim has already started, so it won't source anything when you modify
                                    > > rtp. 2. Plugin has `after' directory.
                                    >
                                    > I see. Point 2 suggest to me that VAM will source plugins that have an
                                    > after dir even when Vim starts up, is that so? That's what I understood
                                    > when I was considering it to manage my rtp and that was the reason for me
                                    > to choose something else. As I wrote before, I don't mind restarting Vim
                                    > after installing a plugin.
                                    >
                                    > Israel
                                  • Israel Chauca F.
                                    ... Hash: SHA1 ... Thanks for the clarification. Israel ... Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
                                    Message 17 of 29 , Mar 23 2:06 PM
                                    • 0 Attachment
                                      -----BEGIN PGP SIGNED MESSAGE-----
                                      Hash: SHA1


                                      On Mar 23, 2011, at 4:02 PM, ZyX wrote:

                                      > Reply to message «Re: which plugin management system to use?»,
                                      > sent 23:35:51 23 March 2011, Wednesday
                                      > by Israel Chauca F.:
                                      >
                                      >> I see. Point 2 suggest to me that VAM will source plugins that have an
                                      >> after dir even when Vim starts up, is that so? That's what I understood
                                      >> when I was considering it to manage my rtp and that was the reason for me
                                      >> to choose something else. As I wrote before, I don't mind restarting Vim
                                      >> after installing a plugin.
                                      > It would not be doing it if vim did sourcing of `after' directory. Just a hack
                                      > for plugins that use directory that are not supposed to be used by anyone but
                                      > the user itself (and user is supposed to use this directory only for plugins
                                      > that are enough poorly designed to unconditionally override mappings/options/...
                                      > defined by user). And VAM is not `sourcing plugins that have after directory'.
                                      > It sources vim files in `after' directory on VimEnter event, not the whole
                                      > plugin.

                                      Thanks for the clarification.

                                      Israel
                                      -----BEGIN PGP SIGNATURE-----
                                      Version: GnuPG/MacGPG2 v2.0.17 (Darwin)

                                      iQEcBAEBAgAGBQJNimDtAAoJELVPg0fIpMsDRoMIAL8MNoFkrJfGj7MTOG+HD3to
                                      E/TdEhT2cAItmsUz7XAtZ2CGsGY4kkP5YC+iDF4nsTVua2g1ov5vcapFWg8YRFnE
                                      eQMQTfQn43v/1UvrB8L+Fm0s+Q13F8JPOf6SMwxhvhV350iYdFvzqMIs/Ny0U0OP
                                      JJh1fY4cihTPRJJcPpSjmLoh34oeU9WYXQM1Mtd3ty29vd4k9iRRuLGvuO7RcFKr
                                      WDUOkvKHz++beneZskyP/aKanb7IsbCAWij3WKBbLvt2rawxuk3aBLuWPzSCKVKa
                                      CWKkNTARmMhBrK6pTQuVtLb0GguWktewff7VImunfto5SfSX+drVrwwHsVVNDoQ=
                                      =iV97
                                      -----END PGP SIGNATURE-----

                                      --
                                      You received this message from the "vim_use" maillist.
                                      Do not top-post! Type your reply below the text you are replying to.
                                      For more information, visit http://www.vim.org/maillist.php
                                    • Marc Weber
                                      ... I guess that adding a vam#Use() function should take no more than 10sec. We could also extend VAM to allow directory prefixes: call
                                      Message 18 of 29 , Mar 23 10:49 PM
                                      • 0 Attachment
                                        Excerpts from Israel Chauca F.'s message of Wed Mar 23 19:56:42 +0100 2011:
                                        > call Use(dir1, dir2)
                                        I guess that adding a vam#Use() function should take no more
                                        than 10sec.

                                        We could also extend VAM to allow directory prefixes:

                                        call ActivateAddons(["dir-a/snipmate","dir-b/python-support-plugin"])

                                        However there must be strong arguments making me vote for such a
                                        feature..

                                        > True, but there is no reason why the rtp manager couldn't handle that task.
                                        Would you mind talking about the two different versions you're using?
                                        I'm curious about this particular use case.

                                        > - A command line interface
                                        Which commands would you run how often - and why?
                                        It looks to me that you want a command line interface because you want
                                        to install plugins before Vim starts up - because your rtp management
                                        can't handle adding plugins after Vim started up.

                                        So the only idea which comes to my mind is running kind of update
                                        command by cron-job each week which is the only thing VAM can't do
                                        nicely without scripting vim using -c --cmd.

                                        > > How do you select the one or the other set of plugins when you need
                                        > > them?
                                        >
                                        > We haven't implemented this yet, all 'bundle' dirs are used. but I was
                                        > thinking that giving a partial or absolute path would be enough to
                                        > select one of them. Since we have a list command that shows all bundle
                                        > dirs and plugins, we could put numbers to every line of the output and
                                        > work like :ls and :buffer.

                                        Well - because VAM stores plugins beneath it you can even use this
                                        scheme:

                                        if $VAM_SET == 'python'
                                        set rtp=~/vam-python-ide
                                        " plugin list 1
                                        call vam#Activate([...])
                                        else
                                        set rtp=~/vam-default-setup
                                        " plugin list 1
                                        call vam#Activate([...])
                                        endif

                                        Then you have two different installations. You can swtich set of
                                        plugins by one of:

                                        1: VAM_SET=python vim
                                        2: vim

                                        If you combine this with getting the list of names from directory you
                                        almost have what you're looking for ?

                                        > > command ActivateAdditionalPluginsA ActivateAddons additional-A
                                        > > command ActivateAdditionalPluginsB ActivateAddons additional-B
                                        > > There are rare cases where order of activation matters.
                                        > I'm not sure about your example, would you have a command for every set of plugins? When it's implemented the way to do this should be
                                        > :Plugin bundle disable bundleA
                                        > or something similar.
                                        Can you tell me how you want to describe which plugins belong to a
                                        bundle? How do you configure it?

                                        Should it look like this way:

                                        .bundleX are files:

                                        .bundle1 : plugin1,plugin2,plugin3
                                        .bundle2: plugin3,plugin1,plugin5

                                        Or do you even want Vim to write those files for you:

                                        :CreateBundle bundle1 plugin1,plugin2,plugin3

                                        Do you then want to provide commands:

                                        :AddPluginToBundle bundle1 bundle6
                                        :ClearBundle
                                        :DelBundle
                                        :DropPluginFromBundle
                                        : ... ?
                                        (This looks like bloat to me - but my taste may be different)

                                        Don't forget: We're talking about manipulating a list of plugin names
                                        only. If the standard doesn't fit your needs then you can just write
                                        your own solution manipulating this list of names.

                                        > Does activation implies VAM sourcing the files? If so, I don't like
                                        > it, I really want to just modify rtp and let Vim do its job. I don't
                                        > care that much if I have to restart Vim after installing/removing
                                        > plugins.

                                        Well - then restart it and be happy :)

                                        Looks like there is a potential user who finds VAM's RTP handling is too
                                        bloated.
                                        We tried so hard keeping code to a minimum :)

                                        VAM can also set a runtimepath explicitely for plugins. Some
                                        distributions (eg ensime) provide plugin-dir/vim/autoload.

                                        So you have to handle this all manually. In VAM you set runtime to a
                                        relative path "vim/" once for all users and be done.

                                        So I expect you to keep extending your code rather than "vimming".

                                        Anyway I'm glad that parts of VAM did help you.

                                        Marc Weber

                                        --
                                        You received this message from the "vim_use" maillist.
                                        Do not top-post! Type your reply below the text you are replying to.
                                        For more information, visit http://www.vim.org/maillist.php
                                      • ZyX
                                        Reply to message «Re: which plugin management system to use?», sent 08:49:13 24 March 2011, Thursday ... If you do this VAM will be one step closer to the
                                        Message 19 of 29 , Mar 24 10:33 AM
                                        • 0 Attachment
                                          Reply to message «Re: which plugin management system to use?»,
                                          sent 08:49:13 24 March 2011, Thursday
                                          by Marc Weber:

                                          > We could also extend VAM to allow directory prefixes:
                                          >
                                          > call ActivateAddons(["dir-a/snipmate","dir-b/python-support-plugin"])
                                          >
                                          > However there must be strong arguments making me vote for such a
                                          > feature..
                                          If you do this VAM will be one step closer to the state where I will be forced
                                          to do complete rewrite: just like I do now with vimpluginloader as I realized
                                          that
                                          1. to add a new feature I want I need to modify code in too many places
                                          2. if I had chosen better architecture, I could have written most of features
                                          that are already inside vimpluginloader as the separate plugins, where
                                          everything related to the feature is stuck in one place.

                                          Now VAM can make some benefit of being an addon that is extended by plugins, but
                                          this benefit is small in a short term. In a long term, things may appear
                                          reversed though.

                                          > So the only idea which comes to my mind is running kind of update
                                          > command by cron-job each week which is the only thing VAM can't do
                                          > nicely without scripting vim using -c --cmd.
                                          I think `-c' will be nice enough if I redefine `s:confirm' so that under some
                                          circumstances (like presence of particular global variable) it will take reply
                                          from a global variable instead of user. It is partly done by `auto_install'
                                          option, but not for #Update if plugin list is not given.

                                          > Well - then restart it and be happy :)
                                          >
                                          > Looks like there is a potential user who finds VAM's RTP handling is too
                                          > bloated.
                                          > We tried so hard keeping code to a minimum :)
                                          Maybe he is talking about reviewing the code before sourcing: I believe this is
                                          why you added :InstallAddons command.

                                          Original message:
                                          > Excerpts from Israel Chauca F.'s message of Wed Mar 23 19:56:42 +0100 2011:
                                          > > call Use(dir1, dir2)
                                          >
                                          > I guess that adding a vam#Use() function should take no more
                                          > than 10sec.
                                          >
                                          > We could also extend VAM to allow directory prefixes:
                                          >
                                          > call ActivateAddons(["dir-a/snipmate","dir-b/python-support-plugin"])
                                          >
                                          > However there must be strong arguments making me vote for such a
                                          > feature..
                                          >
                                          > > True, but there is no reason why the rtp manager couldn't handle that
                                          > > task.
                                          >
                                          > Would you mind talking about the two different versions you're using?
                                          > I'm curious about this particular use case.
                                          >
                                          > > - A command line interface
                                          >
                                          > Which commands would you run how often - and why?
                                          > It looks to me that you want a command line interface because you want
                                          > to install plugins before Vim starts up - because your rtp management
                                          > can't handle adding plugins after Vim started up.
                                          >
                                          > So the only idea which comes to my mind is running kind of update
                                          > command by cron-job each week which is the only thing VAM can't do
                                          > nicely without scripting vim using -c --cmd.
                                          >
                                          > > > How do you select the one or the other set of plugins when you need
                                          > > > them?
                                          > >
                                          > > We haven't implemented this yet, all 'bundle' dirs are used. but I was
                                          > > thinking that giving a partial or absolute path would be enough to
                                          > > select one of them. Since we have a list command that shows all bundle
                                          > > dirs and plugins, we could put numbers to every line of the output and
                                          > > work like :ls and :buffer.
                                          >
                                          > Well - because VAM stores plugins beneath it you can even use this
                                          > scheme:
                                          >
                                          > if $VAM_SET == 'python'
                                          > set rtp=~/vam-python-ide
                                          > " plugin list 1
                                          > call vam#Activate([...])
                                          > else
                                          > set rtp=~/vam-default-setup
                                          > " plugin list 1
                                          > call vam#Activate([...])
                                          > endif
                                          >
                                          > Then you have two different installations. You can swtich set of
                                          > plugins by one of:
                                          >
                                          > 1: VAM_SET=python vim
                                          > 2: vim
                                          >
                                          > If you combine this with getting the list of names from directory you
                                          > almost have what you're looking for ?
                                          >
                                          > > > command ActivateAdditionalPluginsA ActivateAddons additional-A
                                          > > > command ActivateAdditionalPluginsB ActivateAddons additional-B
                                          > > > There are rare cases where order of activation matters.
                                          > >
                                          > > I'm not sure about your example, would you have a command for every set
                                          > > of plugins? When it's implemented the way to do this should be
                                          > >
                                          > > :Plugin bundle disable bundleA
                                          > >
                                          > > or something similar.
                                          >
                                          > Can you tell me how you want to describe which plugins belong to a
                                          > bundle? How do you configure it?
                                          >
                                          > Should it look like this way:
                                          >
                                          > .bundleX are files:
                                          >
                                          > .bundle1 : plugin1,plugin2,plugin3
                                          > .bundle2: plugin3,plugin1,plugin5
                                          >
                                          > Or do you even want Vim to write those files for you:
                                          > :CreateBundle bundle1 plugin1,plugin2,plugin3
                                          >
                                          > Do you then want to provide commands:
                                          > :AddPluginToBundle bundle1 bundle6
                                          > :ClearBundle
                                          > :DelBundle
                                          > :DropPluginFromBundle
                                          > :
                                          > : ... ?
                                          >
                                          > (This looks like bloat to me - but my taste may be different)
                                          >
                                          > Don't forget: We're talking about manipulating a list of plugin names
                                          > only. If the standard doesn't fit your needs then you can just write
                                          > your own solution manipulating this list of names.
                                          >
                                          > > Does activation implies VAM sourcing the files? If so, I don't like
                                          > > it, I really want to just modify rtp and let Vim do its job. I don't
                                          > > care that much if I have to restart Vim after installing/removing
                                          > > plugins.
                                          >
                                          > Well - then restart it and be happy :)
                                          >
                                          > Looks like there is a potential user who finds VAM's RTP handling is too
                                          > bloated.
                                          > We tried so hard keeping code to a minimum :)
                                          >
                                          > VAM can also set a runtimepath explicitely for plugins. Some
                                          > distributions (eg ensime) provide plugin-dir/vim/autoload.
                                          >
                                          > So you have to handle this all manually. In VAM you set runtime to a
                                          > relative path "vim/" once for all users and be done.
                                          >
                                          > So I expect you to keep extending your code rather than "vimming".
                                          >
                                          > Anyway I'm glad that parts of VAM did help you.
                                          >
                                          > Marc Weber
                                        • Israel Chauca F.
                                          ... Something similar to having the system version of Vim in /usr/bin and the one I compiled on /usr/local/bin. Let s say I have two dirs, one is a shared one
                                          Message 20 of 29 , Mar 24 10:36 AM
                                          • 0 Attachment
                                            On Mar 24, 2011, at 12:49 AM, Marc Weber wrote:

                                            > Excerpts from Israel Chauca F.'s message of Wed Mar 23 19:56:42 +0100 2011:
                                            >> call Use(dir1, dir2)
                                            > I guess that adding a vam#Use() function should take no more
                                            > than 10sec.
                                            >
                                            > We could also extend VAM to allow directory prefixes:
                                            >
                                            > call ActivateAddons(["dir-a/snipmate","dir-b/python-support-plugin"])
                                            >
                                            > However there must be strong arguments making me vote for such a
                                            > feature..
                                            >
                                            >> True, but there is no reason why the rtp manager couldn't handle that task.
                                            > Would you mind talking about the two different versions you're using?
                                            > I'm curious about this particular use case.

                                            Something similar to having the system version of Vim in /usr/bin and the one I compiled on /usr/local/bin. Let's say I have two dirs, one is a shared one maintained by someone else (A), the other is the one I maintain (B). So, say I modify one of the plugins available on the dir A and I put on B, then I'd just disable the inside A and leave the other one working.

                                            But I don't think this is a big deal now, you guys have made me think and it doesn't sounds as important as it did. Right now I could just put my B dir before A, so its content takes precedence, just like with $PATH. That should be enough for most cases.

                                            >> - A command line interface
                                            > Which commands would you run how often - and why?
                                            > It looks to me that you want a command line interface because you want
                                            > to install plugins before Vim starts up - because your rtp management
                                            > can't handle adding plugins after Vim started up.

                                            >
                                            > So the only idea which comes to my mind is running kind of update
                                            > command by cron-job each week which is the only thing VAM can't do
                                            > nicely without scripting vim using -c --cmd.

                                            It seems like I haven't been clear on this, whenever I wrote 'command line' I was referring to Vim's command line mode, not the terminal. I'm sorry for the confusion.

                                            So, I can disable a plugin with the following command from Vim:

                                            :Plugin disable pluginX

                                            >>> How do you select the one or the other set of plugins when you need
                                            >>> them?
                                            >>
                                            >> We haven't implemented this yet, all 'bundle' dirs are used. but I was
                                            >> thinking that giving a partial or absolute path would be enough to
                                            >> select one of them. Since we have a list command that shows all bundle
                                            >> dirs and plugins, we could put numbers to every line of the output and
                                            >> work like :ls and :buffer.
                                            >
                                            > Well - because VAM stores plugins beneath it you can even use this
                                            > scheme:
                                            >
                                            > if $VAM_SET == 'python'
                                            > set rtp=~/vam-python-ide
                                            > " plugin list 1
                                            > call vam#Activate([...])
                                            > else
                                            > set rtp=~/vam-default-setup
                                            > " plugin list 1
                                            > call vam#Activate([...])
                                            > endif
                                            >
                                            > Then you have two different installations. You can swtich set of
                                            > plugins by one of:
                                            >
                                            > 1: VAM_SET=python vim
                                            > 2: vim
                                            >
                                            > If you combine this with getting the list of names from directory you
                                            > almost have what you're looking for ?

                                            Yes, that solution looks like the right thing.

                                            >>> command ActivateAdditionalPluginsA ActivateAddons additional-A
                                            >>> command ActivateAdditionalPluginsB ActivateAddons additional-B
                                            >>> There are rare cases where order of activation matters.
                                            >> I'm not sure about your example, would you have a command for every set of plugins? When it's implemented the way to do this should be
                                            >> :Plugin bundle disable bundleA
                                            >> or something similar.
                                            > Can you tell me how you want to describe which plugins belong to a
                                            > bundle? How do you configure it?

                                            The plugins are listed under the name of the dir in the index file.

                                            > Should it look like this way:
                                            >
                                            > .bundleX are files:
                                            >
                                            > .bundle1 : plugin1,plugin2,plugin3
                                            > .bundle2: plugin3,plugin1,plugin5
                                            >
                                            > Or do you even want Vim to write those files for you:
                                            >
                                            > :CreateBundle bundle1 plugin1,plugin2,plugin3

                                            Something like that, since I might not have write access to any of the dirs, the list with all dirs with their plugins is written to ~/.vim/bundled_plugins, one item per line.

                                            > Do you then want to provide commands:
                                            >
                                            > :AddPluginToBundle bundle1 bundle6
                                            > :ClearBundle
                                            > :DelBundle
                                            > :DropPluginFromBundle
                                            > : ... ?
                                            > (This looks like bloat to me - but my taste may be different)

                                            I have one command :Plugin with sub-commands (list, enable, disable, install...) with completion, something similar to git under zsh (don't really know how bash behaves there).

                                            > Don't forget: We're talking about manipulating a list of plugin names
                                            > only. If the standard doesn't fit your needs then you can just write
                                            > your own solution manipulating this list of names.

                                            Absolutely, I'm just sharing what I have/want :)

                                            >> Does activation implies VAM sourcing the files? If so, I don't like
                                            >> it, I really want to just modify rtp and let Vim do its job. I don't
                                            >> care that much if I have to restart Vim after installing/removing
                                            >> plugins.
                                            >
                                            > Well - then restart it and be happy :)
                                            >
                                            > Looks like there is a potential user who finds VAM's RTP handling is too
                                            > bloated.
                                            > We tried so hard keeping code to a minimum :)

                                            It shows, I'm really impressed and thankful for all the work you guys have put into making VAM what it is.

                                            > VAM can also set a runtimepath explicitely for plugins. Some
                                            > distributions (eg ensime) provide plugin-dir/vim/autoload.
                                            >
                                            > So you have to handle this all manually. In VAM you set runtime to a
                                            > relative path "vim/" once for all users and be done.
                                            >
                                            > So I expect you to keep extending your code rather than "vimming".
                                            >
                                            > Anyway I'm glad that parts of VAM did help you.

                                            And I'm thankful for that :)

                                            Israel

                                            --
                                            You received this message from the "vim_use" maillist.
                                            Do not top-post! Type your reply below the text you are replying to.
                                            For more information, visit http://www.vim.org/maillist.php
                                          • ZyX
                                            Reply to message «Re: which plugin management system to use?», sent 20:36:11 24 March 2011, Thursday ... Is it supposed to do something like updating `world
                                            Message 21 of 29 , Mar 24 11:06 AM
                                            • 0 Attachment
                                              Reply to message «Re: which plugin management system to use?»,
                                              sent 20:36:11 24 March 2011, Thursday
                                              by Israel Chauca F.:

                                              > It seems like I haven't been clear on this, whenever I wrote 'command line'
                                              > I was referring to Vim's command line mode, not the terminal. I'm sorry
                                              > for the confusion.
                                              >
                                              > So, I can disable a plugin with the following command from Vim:
                                              > :Plugin disable pluginX
                                              Is it supposed to do something like updating `world' file? You can combine VAM
                                              and readfile/writefile:

                                              " This is to be put to vimrc
                                              let worldfile='~/.vam/world'
                                              call vam#ActivateAddons(readfile(worldfile, 'b'))
                                              command -nargs=1 -bar DisableAddons
                                              \ let s:dlist=[<q-args>] |
                                              \ call writefile(filter(readfile(worldfile, 'b'),
                                              \ 'index(s:dlist, v:val)==-1'),
                                              \ worldfile, "b") |
                                              \ unlet s:dlist
                                              (untested).

                                              If when you said `disable' you meant unloading the plugin and reversing its
                                              effects (mappings, commands, function, etc), then VAM could not help you here.
                                              My plugins can be unloaded, but they were written with support of such unloading
                                              (actually, reloading) in mind.

                                              Original message:
                                              > On Mar 24, 2011, at 12:49 AM, Marc Weber wrote:
                                              > > Excerpts from Israel Chauca F.'s message of Wed Mar 23 19:56:42 +0100 2011:
                                              > >> call Use(dir1, dir2)
                                              > >
                                              > > I guess that adding a vam#Use() function should take no more
                                              > > than 10sec.
                                              > >
                                              > > We could also extend VAM to allow directory prefixes:
                                              > >
                                              > > call ActivateAddons(["dir-a/snipmate","dir-b/python-support-plugin"])
                                              > >
                                              > > However there must be strong arguments making me vote for such a
                                              > > feature..
                                              > >
                                              > >> True, but there is no reason why the rtp manager couldn't handle that
                                              > >> task.
                                              > >
                                              > > Would you mind talking about the two different versions you're using?
                                              > > I'm curious about this particular use case.
                                              >
                                              > Something similar to having the system version of Vim in /usr/bin and the
                                              > one I compiled on /usr/local/bin. Let's say I have two dirs, one is a
                                              > shared one maintained by someone else (A), the other is the one I maintain
                                              > (B). So, say I modify one of the plugins available on the dir A and I put
                                              > on B, then I'd just disable the inside A and leave the other one working.
                                              >
                                              > But I don't think this is a big deal now, you guys have made me think and
                                              > it doesn't sounds as important as it did. Right now I could just put my B
                                              > dir before A, so its content takes precedence, just like with $PATH. That
                                              > should be enough for most cases.
                                              >
                                              > >> - A command line interface
                                              > >
                                              > > Which commands would you run how often - and why?
                                              > > It looks to me that you want a command line interface because you want
                                              > > to install plugins before Vim starts up - because your rtp management
                                              > > can't handle adding plugins after Vim started up.
                                              > >
                                              > >
                                              > > So the only idea which comes to my mind is running kind of update
                                              > > command by cron-job each week which is the only thing VAM can't do
                                              > > nicely without scripting vim using -c --cmd.
                                              >
                                              > It seems like I haven't been clear on this, whenever I wrote 'command line'
                                              > I was referring to Vim's command line mode, not the terminal. I'm sorry
                                              > for the confusion.
                                              >
                                              > So, I can disable a plugin with the following command from Vim:
                                              > :Plugin disable pluginX
                                              > :
                                              > >>> How do you select the one or the other set of plugins when you need
                                              > >>> them?
                                              > >>
                                              > >> We haven't implemented this yet, all 'bundle' dirs are used. but I was
                                              > >> thinking that giving a partial or absolute path would be enough to
                                              > >> select one of them. Since we have a list command that shows all bundle
                                              > >> dirs and plugins, we could put numbers to every line of the output and
                                              > >> work like :ls and :buffer.
                                              > >
                                              > > Well - because VAM stores plugins beneath it you can even use this
                                              > > scheme:
                                              > >
                                              > > if $VAM_SET == 'python'
                                              > >
                                              > > set rtp=~/vam-python-ide
                                              > > " plugin list 1
                                              > > call vam#Activate([...])
                                              > >
                                              > > else
                                              > >
                                              > > set rtp=~/vam-default-setup
                                              > > " plugin list 1
                                              > > call vam#Activate([...])
                                              > >
                                              > > endif
                                              > >
                                              > > Then you have two different installations. You can swtich set of
                                              > > plugins by one of:
                                              > >
                                              > > 1: VAM_SET=python vim
                                              > > 2: vim
                                              > >
                                              > > If you combine this with getting the list of names from directory you
                                              > > almost have what you're looking for ?
                                              >
                                              > Yes, that solution looks like the right thing.
                                              >
                                              > >>> command ActivateAdditionalPluginsA ActivateAddons additional-A
                                              > >>> command ActivateAdditionalPluginsB ActivateAddons additional-B
                                              > >>> There are rare cases where order of activation matters.
                                              > >>
                                              > >> I'm not sure about your example, would you have a command for every set
                                              > >> of plugins? When it's implemented the way to do this should be
                                              > >>
                                              > >> :Plugin bundle disable bundleA
                                              > >>
                                              > >> or something similar.
                                              > >
                                              > > Can you tell me how you want to describe which plugins belong to a
                                              > > bundle? How do you configure it?
                                              >
                                              > The plugins are listed under the name of the dir in the index file.
                                              >
                                              > > Should it look like this way:
                                              > >
                                              > > .bundleX are files:
                                              > >
                                              > > .bundle1 : plugin1,plugin2,plugin3
                                              > > .bundle2: plugin3,plugin1,plugin5
                                              > >
                                              > > Or do you even want Vim to write those files for you:
                                              > > :CreateBundle bundle1 plugin1,plugin2,plugin3
                                              >
                                              > Something like that, since I might not have write access to any of the
                                              > dirs, the list with all dirs with their plugins is written to
                                              > ~/.vim/bundled_plugins, one item per line.
                                              >
                                              > > Do you then want to provide commands:
                                              > > :AddPluginToBundle bundle1 bundle6
                                              > > :ClearBundle
                                              > > :DelBundle
                                              > > :DropPluginFromBundle
                                              > > :
                                              > > : ... ?
                                              > >
                                              > > (This looks like bloat to me - but my taste may be different)
                                              >
                                              > I have one command :Plugin with sub-commands (list, enable, disable,
                                              > install...) with completion, something similar to git under zsh (don't
                                              > really know how bash behaves there).
                                              >
                                              > > Don't forget: We're talking about manipulating a list of plugin names
                                              > > only. If the standard doesn't fit your needs then you can just write
                                              > > your own solution manipulating this list of names.
                                              >
                                              > Absolutely, I'm just sharing what I have/want :)
                                              >
                                              > >> Does activation implies VAM sourcing the files? If so, I don't like
                                              > >> it, I really want to just modify rtp and let Vim do its job. I don't
                                              > >> care that much if I have to restart Vim after installing/removing
                                              > >> plugins.
                                              > >
                                              > > Well - then restart it and be happy :)
                                              > >
                                              > > Looks like there is a potential user who finds VAM's RTP handling is too
                                              > > bloated.
                                              > > We tried so hard keeping code to a minimum :)
                                              >
                                              > It shows, I'm really impressed and thankful for all the work you guys have
                                              > put into making VAM what it is.
                                              >
                                              > > VAM can also set a runtimepath explicitely for plugins. Some
                                              > > distributions (eg ensime) provide plugin-dir/vim/autoload.
                                              > >
                                              > > So you have to handle this all manually. In VAM you set runtime to a
                                              > > relative path "vim/" once for all users and be done.
                                              > >
                                              > > So I expect you to keep extending your code rather than "vimming".
                                              > >
                                              > > Anyway I'm glad that parts of VAM did help you.
                                              >
                                              > And I'm thankful for that :)
                                              >
                                              > Israel
                                            • Marc Weber
                                              ... So it looks like the wish to use /bin/sh to install plugins using shell is not as huge as I thought - so no need to rewrite parts of VAM or duplicate
                                              Message 22 of 29 , Mar 24 2:11 PM
                                              • 0 Attachment
                                                > line' I was referring to Vim's command line mode, not the terminal.
                                                > I'm sorry for the confusion.
                                                So it looks like the wish to use /bin/sh to install plugins using shell
                                                is not as huge as I thought - so no need to rewrite parts of VAM or
                                                duplicate implementation. (lucky me)

                                                > Something similar to having the system version of Vim in /usr/bin and
                                                > the one I compiled on /usr/local/bin. Let's say I have two dirs, one
                                                > is a shared one maintained by someone else (A), the other is the one I
                                                > maintain (B). So, say I modify one of the plugins available on the dir
                                                > A and I put on B, then I'd just disable the inside A and leave the
                                                > other one working.

                                                What exactly are you talking about? Standard installation or standard
                                                installation and custom plugins?

                                                VimL plugins are so cheap (in size and file count) that it should'nt
                                                cause any trouble having a full copy of all plugins for each user.

                                                So there should be no need to use directories managed (and patched) by
                                                someone else.

                                                The way to go is ask that "someone else" to push his scripts to a public
                                                mirror (eg github) so that you can check them out into your directory
                                                easily.

                                                - You'll have a backup on a different host
                                                - you can patch it to make it fit your needs
                                                - ...

                                                So make me understand why the solution of picking some plugins from one
                                                directory and others from another directory is so appealing to you?

                                                VAM could have a g:vam_list_of_paths_containing_plugins so that you can
                                                add both, the (A) and (B) directories.

                                                However I'm still curious why you want to have so much sharing.

                                                If there are two users sharing the same account you can still use
                                                symlinks:

                                                mkdir vam-addons1
                                                mkdir vam-addons2

                                                git clone plugin1 vam-addons1
                                                ln -s ../vam-addons1/plugin1 vam-addons2/plugin1

                                                Then both directories access the same "plugin1" contents.

                                                > But I don't think this is a big deal now, you guys have made me think
                                                > and it doesn't sounds as important as it did. Right now I could just
                                                > put my B dir before A, so its content takes precedence, just like with
                                                > $PATH. That should be enough for most cases.
                                                > So, I can disable a plugin with the following command from Vim:
                                                > :Plugin disable pluginX
                                                Can you talk about this plugin? Why don't you load it always?
                                                Maybe there are additional solutions.

                                                > Something like that, since I might not have write access to any of the
                                                > dirs, the list with all dirs with their plugins is written to
                                                > ~/.vim/bundled_plugins, one item per line.
                                                So would symlinking those "foreign" plugins into your plugin dir be an
                                                option?

                                                > It shows, I'm really impressed and thankful for all the work you guys
                                                > have put into making VAM what it is.
                                                Thanks :)

                                                I'm asking so much because I'm concerned that one of documentation,
                                                advertising or communication was not good enough in the past leading to
                                                many duplicated work. That's why I started this thread..

                                                So thank you for taking the time talking about your concerns and use
                                                cases.

                                                ZyX: I only talked about adding directory prefixes to find more about
                                                these use cases. Thinking about it a second time clearly shows that it
                                                would cause more issues than it solves. So this won't be the reason
                                                causing you to start a rewrite :)

                                                Marc Weber

                                                --
                                                You received this message from the "vim_use" maillist.
                                                Do not top-post! Type your reply below the text you are replying to.
                                                For more information, visit http://www.vim.org/maillist.php
                                              • Israel Chauca F.
                                                ... I agree with all that, don t take me wrong. Maybe I find the idea so appealing because I think the implementation could be easy with the current code, I
                                                Message 23 of 29 , Mar 24 4:35 PM
                                                • 0 Attachment
                                                  On Mar 24, 2011, at 4:11 PM, Marc Weber wrote:

                                                  >
                                                  >> line' I was referring to Vim's command line mode, not the terminal.
                                                  >> I'm sorry for the confusion.
                                                  > So it looks like the wish to use /bin/sh to install plugins using shell
                                                  > is not as huge as I thought - so no need to rewrite parts of VAM or
                                                  > duplicate implementation. (lucky me)
                                                  >
                                                  >> Something similar to having the system version of Vim in /usr/bin and
                                                  >> the one I compiled on /usr/local/bin. Let's say I have two dirs, one
                                                  >> is a shared one maintained by someone else (A), the other is the one I
                                                  >> maintain (B). So, say I modify one of the plugins available on the dir
                                                  >> A and I put on B, then I'd just disable the inside A and leave the
                                                  >> other one working.
                                                  >
                                                  > What exactly are you talking about? Standard installation or standard
                                                  > installation and custom plugins?
                                                  >
                                                  > VimL plugins are so cheap (in size and file count) that it should'nt
                                                  > cause any trouble having a full copy of all plugins for each user.
                                                  >
                                                  > So there should be no need to use directories managed (and patched) by
                                                  > someone else.
                                                  >
                                                  > The way to go is ask that "someone else" to push his scripts to a public
                                                  > mirror (eg github) so that you can check them out into your directory
                                                  > easily.
                                                  >
                                                  > - You'll have a backup on a different host
                                                  > - you can patch it to make it fit your needs
                                                  > - ...
                                                  >
                                                  > So make me understand why the solution of picking some plugins from one
                                                  > directory and others from another directory is so appealing to you?

                                                  I agree with all that, don't take me wrong. Maybe I find the idea so appealing because I think the implementation could be easy with the current code, I might be wrong though, it's still on the todo list :)

                                                  But as I pointed out before, I don't think it's worth much trouble anymore, if I see I can implement it easily I'll do (it's my way of procrastinating :p ), it's not something I'll be using that much anyway.

                                                  > VAM could have a g:vam_list_of_paths_containing_plugins so that you can
                                                  > add both, the (A) and (B) directories.
                                                  >
                                                  > However I'm still curious why you want to have so much sharing.

                                                  I don't share stuff that much, bairui (the other guy that worked with me on this) is the one who uses the shared model (I'm not sure if he's following the discussion). I just keep stuff in sets, one is stuff I have installed with VAM, other is symlinks to the plugins I play with and the third is a test framework.

                                                  > If there are two users sharing the same account you can still use
                                                  > symlinks:
                                                  >
                                                  > mkdir vam-addons1
                                                  > mkdir vam-addons2
                                                  >
                                                  > git clone plugin1 vam-addons1
                                                  > ln -s ../vam-addons1/plugin1 vam-addons2/plugin1
                                                  >
                                                  > Then both directories access the same "plugin1" contents.

                                                  That looks a bit convoluted to me, maybe because I'm not sure I got the idea.

                                                  >> But I don't think this is a big deal now, you guys have made me think
                                                  >> and it doesn't sounds as important as it did. Right now I could just
                                                  >> put my B dir before A, so its content takes precedence, just like with
                                                  >> $PATH. That should be enough for most cases.
                                                  >> So, I can disable a plugin with the following command from Vim:
                                                  >> :Plugin disable pluginX
                                                  > Can you talk about this plugin? Why don't you load it always?
                                                  > Maybe there are additional solutions.

                                                  Usually, while troubleshooting. I don't like renaming or moving directories from the terminal, I usually end up with a mess. So, having a way to not load a plugin from vim is a nice thing to have for me.

                                                  >> Something like that, since I might not have write access to any of the
                                                  >> dirs, the list with all dirs with their plugins is written to
                                                  >> ~/.vim/bundled_plugins, one item per line.
                                                  > So would symlinking those "foreign" plugins into your plugin dir be an
                                                  > option?

                                                  Yes. On of the dirs I use has only symlinks to the plugins I have somewhere else, those that I work on.

                                                  > I'm asking so much because I'm concerned that one of documentation,
                                                  > advertising or communication was not good enough in the past leading to
                                                  > many duplicated work. That's why I started this thread..
                                                  >
                                                  > So thank you for taking the time talking about your concerns and use
                                                  > cases.

                                                  I'm happy to help in any way.

                                                  Israel

                                                  --
                                                  You received this message from the "vim_use" maillist.
                                                  Do not top-post! Type your reply below the text you are replying to.
                                                  For more information, visit http://www.vim.org/maillist.php
                                                • Marc Weber
                                                  ... Final result: system wide setup (or other user): /usr/vim-plugins/snipmate your setup (vam-default): ~/vim-addons/snipmate - /usr/vim-plugins/snipmate
                                                  Message 24 of 29 , Mar 25 4:53 AM
                                                  • 0 Attachment
                                                    Excerpts from Israel Chauca F.'s message of Fri Mar 25 00:35:56 +0100 2011:
                                                    > That looks a bit convoluted to me, maybe because I'm not sure I got the idea.

                                                    Final result:

                                                    system wide setup (or other user):
                                                    /usr/vim-plugins/snipmate

                                                    your setup (vam-default):
                                                    ~/vim-addons/snipmate -> /usr/vim-plugins/snipmate (symlink)

                                                    And you use the plugin managed by someone else. (But you told me you
                                                    know how to use symlinks. They work perfectly within VAM managed
                                                    directories as well - however keep in mind that updating all plugins may
                                                    update this symlinked directory if its a VCS dir)

                                                    About deactivation:
                                                    Keep in mind that VAM also pays attention to dependencies.
                                                    Eg if you use vim-addon-fcsh it will automatically load tlib.
                                                    So removing tlib from the list passed to ActivateAddons will have
                                                    (almost) no effect.

                                                    > Usually, while troubleshooting. I don't like renaming or moving
                                                    > directories from the terminal, I usually end up with a mess. So,
                                                    > having a way to not load a plugin from vim is a nice thing to have for
                                                    > me.
                                                    There are two ways:
                                                    a) disable a plugin, restart Vim, ...
                                                    b) load without plugins, :ActivateAddons piecewise until the
                                                    misbehaviour occurs.

                                                    I usually copy paste the ActivateAddons() line:

                                                    " call vam#ActivateAddons(["a","b"])
                                                    call vam#ActivateAddons(["a","b"])

                                                    then drop plugins from the second list.
                                                    When done I know what to remove from the commented line.

                                                    Probably this is a matter of taste only.

                                                    It looks like we can stop this discussion. You have a solution.
                                                    If you think that keeping your own fork is no longer worth it then
                                                    you're welcome to join the VAM team :)

                                                    Marc Weber

                                                    --
                                                    You received this message from the "vim_use" maillist.
                                                    Do not top-post! Type your reply below the text you are replying to.
                                                    For more information, visit http://www.vim.org/maillist.php
                                                  • Paul
                                                    Pathogen, because it s easy to use: Put in ~/.vim/autoload/ Just one line in ~/.vimrc It keeps all the files nice and tidy in their own directory. All you have
                                                    Message 25 of 29 , Apr 1, 2011
                                                    • 0 Attachment
                                                      Pathogen, because it's easy to use:

                                                      Put in ~/.vim/autoload/
                                                      Just one line in ~/.vimrc

                                                      It keeps all the files nice and tidy in their own directory.

                                                      All you have to do to install a plugin is put it into ~/.vim/bundle/[name of plugin]/.

                                                      To remove a plugin, remove its directory in ~/.vim/bundle/.

                                                      It's simple.

                                                      --

                                                      .

                                                      --
                                                      You received this message from the "vim_use" maillist.
                                                      Do not top-post! Type your reply below the text you are replying to.
                                                      For more information, visit http://www.vim.org/maillist.php
                                                    • Marc Weber
                                                      ... VAM even does this for you. Getting url, downloading, unpacking .. this all should be done by scripts. ... Marc Weber -- You received this message from the
                                                      Message 26 of 29 , Apr 1, 2011
                                                      • 0 Attachment
                                                        Excerpts from Paul's message of Fri Apr 01 13:16:55 +0200 2011:
                                                        > All you have to do to install a plugin is put it into ~/.vim/bundle/[name of plugin]/.
                                                        VAM even does this for you. Getting url, downloading, unpacking .. this
                                                        all should be done by scripts.
                                                        :)

                                                        Marc Weber

                                                        --
                                                        You received this message from the "vim_use" maillist.
                                                        Do not top-post! Type your reply below the text you are replying to.
                                                        For more information, visit http://www.vim.org/maillist.php
                                                      • Erik Christiansen
                                                        ... Simple sounds very appealing. Having installed just one plugin, by doing no more than: vim Desktop/CheckAttach-0.9.vba ... I m left wondering what
                                                        Message 27 of 29 , Apr 2, 2011
                                                        • 0 Attachment
                                                          On Fri, Apr 01, 2011 at 12:16:55PM +0100, Paul wrote:
                                                          > Pathogen, because it's easy to use:
                                                          >
                                                          > Put in ~/.vim/autoload/
                                                          > Just one line in ~/.vimrc
                                                          >
                                                          > It keeps all the files nice and tidy in their own directory.
                                                          >
                                                          > All you have to do to install a plugin is put it into ~/.vim/bundle/[name of plugin]/.
                                                          >
                                                          > To remove a plugin, remove its directory in ~/.vim/bundle/.
                                                          >
                                                          > It's simple.

                                                          Simple sounds very appealing. Having installed just one plugin, by doing
                                                          no more than:

                                                          vim Desktop/CheckAttach-0.9.vba
                                                          :so %

                                                          I'm left wondering what practical need there might be for any kind of
                                                          "plugin management system"?

                                                          Given your advice that (paraphrased for my case) removal of the
                                                          installed .vim/ftplugin/mail_CheckAttach.vim effects an uninstall, then
                                                          that seems to be the other half of a working system.

                                                          As for "all the files nice and tidy in their own directory", it seems
                                                          that it all ends up in ~/.vim, so that requirement is satisfied without
                                                          further ado, also, innit?

                                                          If there are snags lurking in multiple plugins, then now seems a really
                                                          good time to become aware of them.

                                                          Erik

                                                          --
                                                          I have yet to see any problem, however complicated, which, when you
                                                          looked at it in the right way, did not become still more complicated.
                                                          - Poul Anderson

                                                          --
                                                          You received this message from the "vim_use" maillist.
                                                          Do not top-post! Type your reply below the text you are replying to.
                                                          For more information, visit http://www.vim.org/maillist.php
                                                        • Marc Weber
                                                          Users knowing VAM can skip this post. ... You already lost time be downloading the .vba file. VAM will magically know where to fetch CheckAttach from. So
                                                          Message 28 of 29 , Apr 2, 2011
                                                          • 0 Attachment
                                                            Users knowing VAM can skip this post.

                                                            > vim Desktop/CheckAttach-0.9.vba
                                                            > :so %

                                                            You already lost time be "downloading" the .vba file. VAM will magically
                                                            know where to fetch "CheckAttach" from. So you can say on irc: Get
                                                            CheckAttach .. and that's it.

                                                            > I'm left wondering what practical need there might be for any kind of
                                                            > "plugin management system"?
                                                            Example: vim-haxe:
                                                            https://github.com/MarcWeber/vim-haxe/blob/master/vim-haxe-addon-info.txt

                                                            Have a look at the "dependencies" section:

                                                            "vim-addon-mw-utils": {},
                                                            "tlib": {},
                                                            "vim-addon-views": {},
                                                            "vim-addon-actions": {},
                                                            "vim-addon-goto-thing-at-cursor": {},
                                                            "vim-addon-background-cmd": {},
                                                            "vim-addon-completion": {},
                                                            "vim-addon-swfmill": {},

                                                            So mw-utils provides a function caching the result of reading files to
                                                            speed up working

                                                            vim-addon-views provides a way to use buffer urls to provide special
                                                            content (its also used in my git plugin)

                                                            vim-addon-actions: provides an abstraction to bind an action to etiher
                                                            - buf write action
                                                            - key press action
                                                            easily while allowing you to add additional command line arguments to
                                                            the compiler.

                                                            vim-addon-goto-thing-at-cursor provides something similar to gf which
                                                            can be scripted in VimL - and also opens files if they don't exist
                                                            (saving you time)

                                                            vim-addon-background-cmd: hacky solution to run compilers in background
                                                            using client-server feature.

                                                            vim-addon-completion: provides camel case matching and some more.

                                                            tlib: I use only the fabulous function selecting items from a list.

                                                            Now most of those "fetaures" are not only used by vim-haxe but also by
                                                            other plugins. If you try to get vim-haxe VAM will fetch all those
                                                            dependencies for you automatically. Then you feel the difference :)

                                                            Before VAM plugin authors had to make a dicision:
                                                            - duplicate code - and it works
                                                            - reference code - users have to read docs and follow instructions.

                                                            If the latter way "reference code" is used more often by plugin devs
                                                            this naturally also leads to more code review thus better plugin thus
                                                            improved overall value for the community.

                                                            > Given your advice that (paraphrased for my case) removal of the
                                                            > installed .vim/ftplugin/mail_CheckAttach.vim effects an uninstall, then
                                                            Those plugins having only one file are boring :) Let's talk about things
                                                            like vim-latex (don't recall its exact name). They have 10 and more
                                                            files.

                                                            > As for "all the files nice and tidy in their own directory", it seems
                                                            > that it all ends up in ~/.vim, so that requirement is satisfied without
                                                            > further ado, also, innit?
                                                            try updating something like the latex plugin :) Then you wonder: Which
                                                            files belonged to it at all?

                                                            Marc Weber

                                                            --
                                                            You received this message from the "vim_use" maillist.
                                                            Do not top-post! Type your reply below the text you are replying to.
                                                            For more information, visit http://www.vim.org/maillist.php
                                                          • Erik Christiansen
                                                            ... Now vim-latex might be worth a look ... and then ... yep, something like VAM would definitely come into its own. ( c.f. Who could survive without apt-get?)
                                                            Message 29 of 29 , Apr 2, 2011
                                                            • 0 Attachment
                                                              On Sat, Apr 02, 2011 at 01:09:50PM +0200, Marc Weber wrote:
                                                              > Those plugins having only one file are boring :) Let's talk about things
                                                              > like vim-latex (don't recall its exact name). They have 10 and more
                                                              > files.
                                                              >
                                                              > > As for "all the files nice and tidy in their own directory", it seems
                                                              > > that it all ends up in ~/.vim, so that requirement is satisfied without
                                                              > > further ado, also, innit?
                                                              > try updating something like the latex plugin :) Then you wonder: Which
                                                              > files belonged to it at all?

                                                              Now vim-latex might be worth a look ... and then ... yep, something
                                                              like VAM would definitely come into its own. ( c.f. Who could survive
                                                              without apt-get?)

                                                              Ah, I see that your recommendation of VAM is a highly informed one. ;-)
                                                              (I've bookmarked
                                                              https://github.com/MarcWeber/vim-addon-manager/blob/master/doc/vim-addon-manager.txt

                                                              and will install tomorrow, since I'm falling asleep now.)

                                                              Many thanks for the gravitational pull into a more efficient orbit.

                                                              Erik

                                                              --
                                                              "The wages of sin are death; but after they're done taking out taxes,
                                                              it's just a tired feeling:"

                                                              --
                                                              You received this message from the "vim_use" maillist.
                                                              Do not top-post! Type your reply below the text you are replying to.
                                                              For more information, visit http://www.vim.org/maillist.php
                                                            Your message has been successfully submitted and would be delivered to recipients shortly.