New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.vimrc再読み込みでエラー #19

Closed
sigwyg opened this Issue Aug 7, 2012 · 7 comments

Comments

Projects
None yet
2 participants
@sigwyg

sigwyg commented Aug 7, 2012

おつかれさまです。

症状

  • :source $MYVIMRC の実行時、エラーとなる
  • エラー後、一部のキーマップが利用不可になる(Uniteの「q」など)
  • エラー後、シンタックスカラーが消える
  • エラー後、:Unite output:message しても候補なしとなる。:message ではerror文が表示されている。
  • :source $MYVIMRCとかしなければ、通常の:NeoBundleInstallなどは問題なく使える。

再現

  • call neobundle#rc(expand('~/.vim/bundle')) が if has('vim_starting') {} の外にあると起こる
  • Mac OSX Lion で確認
  • /usr/bin/vim, MacVim Kaori-Ya 双方で確認
  • プラグインがneobundle.vimだけでも起こる。

週末にSnow LeopardからLionにアップデートし、気付いたのが月曜となります。
それまでは特に問題は生じていなかった... 今はneobundleを3ヶ月前のVer.まで戻しても再現する。
vimprocは昨日8/6時点で最新のものでビルド済み。

error文 (最小構成のとき)

function neobundle#config#bundle..neobundle#config#init_bundle の処理中にエラーが検出されました:
行    6:
E117: 未知の関数です: neobundle#installer#error

上記は、.vimrcが下記のみのときのerror文
プラグインそのものは、/bundle/下に存在する。

set nocompatible
filetype off
filetype plugin indent off

if has('vim_starting')
    set runtimepath+=~/.vim/bundle/neobundle.vim
endif
    call neobundle#rc(expand('~/.vim/bundle'))

NeoBundle 'git://github.com/Shougo/neobundle.vim.git'

filetype plugin indent on

error文 (通常時)

function neobundle#config#bundle..neobundle#config#init_bundle の処理中にエラーが検出されました:
行    6:
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
E117: 未知の関数です: neobundle#installer#error
/Applications/local/MacVim-kaoriya.app/Contents/Resources/vim/runtime/syntax/synload.vim の処理中にエラーが検出されました:
行   19:
E185: カラースキーム jellybeans がみつかりません
割込まれました
/Applications/local/MacVim-kaoriya.app/Contents/Resources/vim/runtime/syntax/syntax.vim の処理中にエラーが検出されました:
行   19:
割込まれました
/Users/sigwyg/.vimrc の処理中にエラーが検出されました:
行  121:
割込まれました
  • 「E117: 未知の関数です: neobundle#installer#error」の数はプラグインの数?
  • 「jellybeans がみつかりません」とあるが、別のカラースキームでも同様

よろしくお願いします m(__)m

@Shougo

This comment has been minimized.

Show comment
Hide comment
@Shougo

Shougo Aug 7, 2012

Owner

原因がおおよそ分かりました。

おそらく、neobundle#rc()を読んだ時に、neobundle.vimのパスを除外してしまっているのでしょう。
neobundleそのものをneobundleで管理しているのでこういったことが起こります。
今まで問題が発覚しなかったのは、.vimrcを再度読み込むまでに該当スクリプトをロードしていたからだと思います。
何か対策を検討します。

Owner

Shougo commented Aug 7, 2012

原因がおおよそ分かりました。

おそらく、neobundle#rc()を読んだ時に、neobundle.vimのパスを除外してしまっているのでしょう。
neobundleそのものをneobundleで管理しているのでこういったことが起こります。
今まで問題が発覚しなかったのは、.vimrcを再度読み込むまでに該当スクリプトをロードしていたからだと思います。
何か対策を検討します。

@Shougo

This comment has been minimized.

Show comment
Hide comment
@Shougo

Shougo Aug 7, 2012

Owner

修正しました。こちらで再現が出来なかったので、これできちんと治っているか確認できていません。
neobundleを更新して試してください。

Owner

Shougo commented Aug 7, 2012

修正しました。こちらで再現が出来なかったので、これできちんと治っているか確認できていません。
neobundleを更新して試してください。

@sigwyg

This comment has been minimized.

Show comment
Hide comment
@sigwyg

sigwyg Aug 8, 2012

一時期vitalのエラーとか出て焦りましたが、git cloneで入れ直したところ、どうやら直ったようです。
ありがとうございます!

neobundleのneobundle管理は今後も非推奨な感じでしょうか?

あと、neobundle#rc() はif has('vim_starting') {} の中と外、どちらに入れるのが望ましいのでしょうか。
Readmeでは中に、ヘルプでは外に書かれていますよね。ヘルプのほうが新しいと思っていますが...

sigwyg commented Aug 8, 2012

一時期vitalのエラーとか出て焦りましたが、git cloneで入れ直したところ、どうやら直ったようです。
ありがとうございます!

neobundleのneobundle管理は今後も非推奨な感じでしょうか?

あと、neobundle#rc() はif has('vim_starting') {} の中と外、どちらに入れるのが望ましいのでしょうか。
Readmeでは中に、ヘルプでは外に書かれていますよね。ヘルプのほうが新しいと思っていますが...

@Shougo

This comment has been minimized.

Show comment
Hide comment
@Shougo

Shougo Aug 8, 2012

Owner

一時期vitalのエラーとか出て焦りましたが、git cloneで入れ直したところ、どうやら直ったようです。
ありがとうございます!

了解です。おそらく、自分自身をアップデートしようとしたからでしょう。

neobundleのneobundle管理は今後も非推奨な感じでしょうか?

気持ちは分かりますが、あまり推奨はしません。なぜなら、vitalでこけるように、自分自身をアップデートしようとすると微妙な問題に遭遇するためです。

あと、neobundle#rc() はif has('vim_starting') {} の中と外、どちらに入れるのが望ましいのでしょうか。
Readmeでは中に、ヘルプでは外に書かれていますよね。ヘルプのほうが新しいと思っていますが...

外のほうが望ましいです。なぜなら、neobundle#rc()はruntimepathをリセットするためです。
if has('vim_starting')の中に書いていると、runtimepathがリセットできません。
結果、削除したNeoBundleが読み込まれたまま、ということになってしまいます。

Owner

Shougo commented Aug 8, 2012

一時期vitalのエラーとか出て焦りましたが、git cloneで入れ直したところ、どうやら直ったようです。
ありがとうございます!

了解です。おそらく、自分自身をアップデートしようとしたからでしょう。

neobundleのneobundle管理は今後も非推奨な感じでしょうか?

気持ちは分かりますが、あまり推奨はしません。なぜなら、vitalでこけるように、自分自身をアップデートしようとすると微妙な問題に遭遇するためです。

あと、neobundle#rc() はif has('vim_starting') {} の中と外、どちらに入れるのが望ましいのでしょうか。
Readmeでは中に、ヘルプでは外に書かれていますよね。ヘルプのほうが新しいと思っていますが...

外のほうが望ましいです。なぜなら、neobundle#rc()はruntimepathをリセットするためです。
if has('vim_starting')の中に書いていると、runtimepathがリセットできません。
結果、削除したNeoBundleが読み込まれたまま、ということになってしまいます。

@Shougo Shougo closed this Aug 8, 2012

@sigwyg

This comment has been minimized.

Show comment
Hide comment
@sigwyg

sigwyg Aug 8, 2012

はい。諸々ありがとうございました! 留意しておきます。

sigwyg commented Aug 8, 2012

はい。諸々ありがとうございました! 留意しておきます。

@Shougo

This comment has been minimized.

Show comment
Hide comment
@Shougo

Shougo Aug 8, 2012

Owner

:-)

Owner

Shougo commented Aug 8, 2012

:-)

@Shougo

This comment has been minimized.

Show comment
Hide comment
@Shougo

Shougo Aug 8, 2012

Owner

本日、neobundleからvitalを除外しました。
おそらく今回のようなアップデート時のエラーは起こりづらくなったはずです。

Owner

Shougo commented Aug 8, 2012

本日、neobundleからvitalを除外しました。
おそらく今回のようなアップデート時のエラーは起こりづらくなったはずです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment