Lingrのメンバーには既知だろうけど、一応まとめておく。 autoload関数を「exists('*mylib#func')」のように確認するのは、 スクリプトのトップレベルで確認した方がいい。 でないとautoload/mylib.vimとその中に「mylib#func()」が存在していて 「exists('*mylib#func')」が1になるべきところでも0になる。 「トップレベル」というのは、関数の中からとかじゃなく、 function! s:func_using_mylib_func() if exists('*mylib#func') call mylib#func('hoge') endif endfunction このように関数の外、グローバルなスコープ(?)で確認した方がいいということ。 let s:mylib_func_exists = exists('*mylib#