0

vim を起動すると、次のエラーが出力されます。

$ vim -V9foo.log
Error detected while processing function <SNR>14_DependenciesValid:
line   12:
Traceback (most recent call last):
  File "<string>", line 6, in <module>
AttributeError: 'module' object has no attribute 'vars'
Press ENTER or type command to continue

このサイトを見ると、 -V9 を使用して vim が行っているすべてを出力するための推奨事項がいくつか見つかります。しかし、これを行うと、失敗は見られません!

-V9foo.log を使用して、実行中のすべてをログ ファイル (foo.log) に出力することもできます。これを行うと、起動作業はすべてそこに出力されますが、エラーは端末に出力されます。私の推測では、Python プラグイン ランナーが vim -V 出力ターゲットを認識していないか、python ランタイム エラーが stderr に直接出力されていると考えられます。

残念ながら、Python エラーは非常に役に立ちません。どの vim プラグインにも DependenciesValid という名前の関数が見つかりません。エラーの残りの部分はすべて、「一部のモジュールを使用して、一部の文字列をソースとしており、これがどこにあるかを見つけて楽しんでください!」です。

プラグインに Vundle を使用していますが、これを使用する唯一の理由は、エディター内の Scala ブラウジングに ensime を使用したいからです。

ensime/ensime-vim をコメントアウトすると、エラーが解消され、特定のバンドルが特定されますが、バンドル内のどこで実際にエラーが発生したか、またはその理由に近づくことはできません。

これが私の.vimrcです:

set nocompatible
filetype off

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" Plugin 'jewes/Conque-Shell'
Plugin 'ensime/ensime-vim'
Plugin 'derekwyatt/vim-scala'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

" syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

" My Stuff
set expandtab
set hidden
set ts=4
set ignorecase
set sw=4

ubuntu 12.04 LTS で実行しています (いいえ、これは現在アップグレードできません。)

$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled May  4 2012 04:24:26)
Included patches: 1-429

$ uname -a
Linux (hostname) 3.19.0-32-generic #37~14.04.1 SMP Fri Nov 6 00:01:52 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
4

2 に答える 2