I use vim for many different categories of projects, typically:
- Writing code (3 languages, python, Matlab and C)
- Writing documentation ( .rst, .html)
- Writing reports (.tex)
- Readme file (.md)
- As a plain text scratchpad (quick notes, meeting minutes etc.)
While I understand why many experts here recommend against relying solely on plugins and instead encourage to leverage vim's power for many tasks, a plugin-based workflow suits my style (and there exist many plugins which simplify the task at hand greatly).
My question is: Can we enable a specific subset of plugins for specific projects (akin to a python virtualenv setup). Some plugins are very generic (eg. an auto-close plugin for {},(),<> pairs) and is helpful in all kind of projects. However, others are more project-specific (eg. vim-jedi plugin would be useless when writing regular prose; any writing plugin will be useless for code and such). I think there is a way selectively enable on-demand/lazy loading for individual plugins. But my question goes beyond this basic case, since it is inconvenient to manually enable a handful plugins (say 3 or 4) one by one as required by a project.
Instead, is there a way to define "plugin-groups" (say, we call them 'writer-tools', or 'matlab-plugins') so that only the plugins belonging to that group are auto-loaded depending on the specific project type/category. Furthermore, it is also desirable to have a manual override feature to either enable individual plugins from other plugin-groups or disable any one plugin from the currently loaded plugin-group, while in the midst of vim workflow.
Does such a meta-plugin to manage group-based plugin autoload feature already exist? (or maybe someone has put together a solution using a bunch of autocmds in their vimrc)