インサートモード時の が use しているファイルの中を検索するからウザイ
CPAN モジュールをわんさかインストールしているので、
インストールされいてる CPAN モジュールから辞書ファイルを自動生成しているので、辞書ファイルからだけ補完されれば良い。
help cpt を見ると・・・
*'complete'* *'cpt'* *E535* 'complete' 'cpt' string (default: ".,w,b,u,t,i") local to buffer {not in Vi} This option specifies how keyword completion |ins-completion| works when CTRL-P or CTRL-N are used. It is also used for whole-line completion |i_CTRL-X_CTRL-L|. It indicates the type of completion and the places to scan. It is a comma separated list of flags: . scan the current buffer ('wrapscan' is ignored) w scan buffers from other windows b scan other loaded buffers that are in the buffer list u scan the unloaded buffers that are in the buffer list U scan the buffers that are not in the buffer list k scan the files given with the 'dictionary' option kspell use the currently active spell checking |spell| k{dict} scan the file {dict}. Several "k" flags can be given, patterns are valid too. For example: > :set cpt=k/usr/dict/*,k~/spanish < s scan the files given with the 'thesaurus' option s{tsr} scan the file {tsr}. Several "s" flags can be given, patterns are valid too. i scan current and included files d scan current and included files for defined name or macro |i_CTRL-X_CTRL-D| ] tag completion t same as "]" Unloaded buffers are not loaded, thus their autocmds |:autocmd| are not executed, this may lead to unexpected completions from some files (gzipped files for example). Unloaded buffers are not scanned for whole-line completion. The default is ".,w,b,u,t,i", which means to scan: 1. the current buffer 2. buffers in other windows 3. other loaded buffers 4. unloaded buffers 5. tags 6. included files As you can see, CTRL-N and CTRL-P can be used to do any 'iskeyword'- based expansion (e.g., dictionary |i_CTRL-X_CTRL-K|, included patterns |i_CTRL-X_CTRL-I|, tags |i_CTRL-X_CTRL-]| and normal expansions).
って事で、下記を追加。
autocmd FileType perl set complete-=i
ruby とか組んでいる際には便利なんだけどねー。