Ubuntuでも同じ問題があります。これは、システムレベルのvim設定が原因です。
どのシステムレベルのvim設定を適用することができます:scriptnames
。vim内で実行するredir @c | scriptnames | redir END | enew | put c
と、vimから供給されたすべてのスクリプトを含むバッファーが得られます。すべてのファイル(:g/\~/d
)を無視すると、すべてのシステムレベルのスクリプトが表示されます。
私の問題は最初のファイルにありました:/usr/share/vim/vimrc
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
if has("syntax")
syntax on
endif
病原体syntax on
(私のvimプラグインマネージャー)がセットアップされる前に表示されるため、vimはbundle / vimclojure/ftdetectディレクトリを検索しません。ヴァンドルも同じ問題を抱えていると思います。(ftdetect / clojure.vimを〜/ .vim / ftdetect / clojure.vimにコピーして、まだ問題が発生するかどうかを確認してください。)
同じ問題が発生している場合は、次の3つの解決策が考えられます。
- それらの行をコメントアウトし、問題のあるファイル(AppleまたはMacVim)を所有している人にバグを報告します。MacVimがシステムレベルの変更を行ったことを覚えていないので、ファイルはMacVimバンドルに含まれていると思います。
- バンドルを初期化する前に追加
filetype off
します(必要な場合もありsyntax off
ます)。病原体はこれを行うために病原体#infect()を使用します、多分vundleは似たようなものを持っています。(対応する病原体のバグと修正。)後でそれらをオンに戻すようにしてください!(また、vundleの設定が、filetype / plugin / syntaxに関連するvimrcの他の何よりも前にあることを確認してください。)
- すべてのバンドルのftdetectファイルから〜/ .vim / ftdetectへのシンボリックリンクを作成します(バグが修正された場合はautocmdsを2倍にします)。