Reputation: 294
I'm working on different projects and I want to select what plugins to enable (or disable) for every project. I'm using Pathogen to manage my plugins.
Plugins list:
.vim \
|-bundle \
|-vim-markdown
|-latexsuite
|-dirdo
|-localvimrc
|-nerdtree
|-autostart
|-doc
I've a main .vimrc
which by default enables all plugins and a local lvimrc
in every project main directory enabled by Localvimrc, in which I add some plugins to the disabled plugins list.
.vimrc
" Enables vim-pathogen and disables nearly all plugins
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
let g:pathogen_disabled = []
" This makes vim invoke Latex-Suite when you open a tex file.
filetype plugin on
lvimrc
let g:pathogen_disabled = []
call add(g:pathogen_disabled, 'vim-markdown')
lvimrc
let g:pathogen_disabled = []
call add(g:pathogen_disabled, 'latexsuite')
Everything works fine except vim-markdown which is not loaded when I open my blog's html/markdown files (I've already added *.html extension in ftdetect/markdown.vim
). Moreover, vim-markdown
is not listed in the output of :scriptnames
when editing my blog files.
Any hint?
Upvotes: 2
Views: 2233
Reputation: 1219
Did you know you could have more than one bundle directory? You could create different bundle directories for different projects.
So you could do something like this:
runtime bundle_main/pathogen/autoload/pathogen.vim
call pathogen#infect('bundle_main')
call pathogen#infect('bundle_projectX')
call pathogen#infect('bundle_projectY')
call pathogen#helptags()
You could conditionally load the plugin folders too.
Also with regards to vim-markdown: There are many implementations. See https://github.com/hallison/vim-markdown It seems to be more actively maintained.
Upvotes: 1
Reputation: 53634
As a VAM developer I could say that we had to add the following to make ftdetect plugins work. Briefly: adding paths to &rtp does not cause ftdetect files to be sourced, thus we have to source them manually. Pathogen also has a hack for this, but it uses filetype off
then filetype on
. This hack is not invoked when using pathogen#runtime_append_all_bundles
, thus either add
call pathogen#cycle_filetype()
after pathogen#runtime_append_all_bundles
or just use pathogen#infect
instead which does this for you. If this does not work try also adding
unlet! g:did_load_filetype
before calling pathogen.
You can also migrate to VAM: like pathogen it puts all plugins to separate directories, but unlike it you have to specify which ones you want to activate instead of activating all by default and blacklisting. Here you can’t use documented API and avoid running this hack at the same time.
Upvotes: 0
Reputation: 196596
Would adding filetype plugin on
to every .lvimrc
help to fix the problem?
Upvotes: 0