exists()
プラグインによって定義された変数、コマンド、または関数がvimに認識されているかどうかを確認する関数を使用する条件でそのブロックをラップできます。
〜/ .vimの下のファイルにあるいくつかのビットを次に示します。
" after/plugin/speeddating.vim
if exists(':SpeedDatingFormat')
SpeedDatingFormat %-d %B %Y
endif
" ftplugin/ruby.vim
if exists('g:loaded_surround') && !exists('b:surround_'.char2nr(':'))
let b:surround_{char2nr(':')} = ":\r"
endif
上記のビットは、通常のプラグイン、ここではftplugin、およびafter/plugin
ディレクトリ内のファイルの後に評価されるファイルにあることに注意してください。
別のオプションは、try / catchブロックを使用することですが、これには少なくともvim 7.0が必要です。
if v:version >= 700
try
runtime bundle/pathogen/autoload/pathogen.vim
call pathogen#infect()
catch
endtry
endif
try
そのブロックのセクション内の何かが失敗すると、そのcatch
セクションにスキップし
ます。以来catch
セクションが空である、それだけで後の初期化ファイルの残りの部分を続行しますendtry
声明。
これは、すでにロードされているプラグインに依存するのではなく、手動でコードをロードするため、.vimrcファイル自体で実行できます。
~/.vimrc
ので~/.vimrc
、プラグインファイルの存在をテストするか、次のようなオートコマンドでプラグインがロードされるまでテストを延期しない限り、プラグインの効果をテストすることはできません。VimEnter。