2

我正在处理不同的项目,我想为每个项目选择启用(或禁用)哪些插件。我正在使用 Pathogen 来管理我的插件。

插件列表:

.vim \
     |-bundle \
              |-vim-markdown
              |-latexsuite
              |-dirdo
              |-localvimrc
              |-nerdtree
     |-autostart
     |-doc

我有一个 main .vimrc,默认情况下启用所有插件,并且在Localvimrclvimrc启用的每个项目主目录中都有一个本地,我在其中将一些插件添加到禁用的插件列表中。

.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')

问题

一切正常,除了当我打开我的博客的 html/markdown 文件时没有加载的 vim-markdown(我已经在 中添加了 *.html 扩展名 ftdetect/markdown.vim)。此外,在编辑我的博客文件时vim-markdown的输出中没有列出。:scriptnames

有什么提示吗?

4

3 回答 3

1

您知道您可以拥有多个捆绑目录吗?您可以为不同的项目创建不同的捆绑目录。

所以你可以做这样的事情:

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()

您也可以有条件地加载插件文件夹。

还有关于 vim-markdown:有很多实现。见https://github.com/hallison/vim-markdown似乎维护得更积极了。

于 2012-07-24T13:48:47.103 回答
0

会增加filetype plugin on每一个.lvimrc帮助来解决问题吗?

于 2012-07-24T12:58:41.777 回答
0

作为 VAM 开发人员,我可以说我们必须添加以下内容才能使 ftdetect 插件正常工作。简而言之:向 &rtp 添加路径不会导致获取 ftdetect 文件,因此我们必须手动获取它们。Pathogen 对此也有hack,但它使用filetype offthen filetype on。使用时不会调用此 hack pathogen#runtime_append_all_bundles,因此要么添加

call pathogen#cycle_filetype()

之后pathogen#runtime_append_all_bundles或只是使用pathogen#infect它来代替它为您执行此操作。如果这不起作用,请尝试添加

unlet! g:did_load_filetype

在调用病原体之前。

您还可以迁移到VAM:像病原体一样,它将所有插件放在单独的目录中,但与它不同的是,您必须指定要激活的插件,而不是默认激活所有插件并将其列入黑名单。在这里,您不能使用记录在案的 API 并避免同时运行此 hack。

于 2012-07-24T13:48:55.550 回答