2

私はさまざまなプロジェクトに取り組んでおり、すべてのプロジェクトで有効(または無効)にするプラグインを選択したいと思います。プラグインの管理にPathogenを使用しています。

プラグインリスト:

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

私は、.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にもこれに対するハックfiletype offがありますが、thenを使用しfiletype onます。このハックは使用時に呼び出されないpathogen#runtime_append_all_bundlesため、次のいずれかを追加します

call pathogen#cycle_filetype()

後で、pathogen#runtime_append_all_bundlesまたはpathogen#infect代わりにこれを使用してください。これが機能しない場合は、追加してみてください

unlet! g:did_load_filetype

病原体を呼び出す前に。

VAMに移行することもできます。病原体のように、すべてのプラグインを別々のディレクトリに配置しますが、それとは異なり、デフォルトですべてをアクティブにしてブラックリストに登録するのではなく、アクティブにするプラグインを指定する必要があります。ここでは、文書化されたAPIを使用すると同時に、このハックの実行を回避することはできません。

于 2012-07-24T13:48:55.550 に答える