ファイルタイプ毎に辞書を分ける
こんな感じでどうだろう。
autocmd FileType * set complete=.,w,b,u,t,i autocmd FileType perl set complete-=i | set complete+=k~/.vim/dict/perl.dict autocmd FileType ruby set complete+=k~/.vim/dict/ruby.dict autocmd FileType javascript set complete+=k~/.vim/dict/javascript.dict autocmd FileType erlang set complete+=k~/.vim/dict/erlang.dict
ファイルを読み込む度に毎回 complete を '.,w,b,u,t,i' で初期化し、その後にファイルタイプ毎の設定を行う。
バッファ毎に complete を保持しているので、一度にタイプの違う複数のファイルを読み込んでも平気。