Hack #128: neocomplcache Hacks(3) キーワード補完
Posted at 2010/03/01ツイート
三回目の今回はneocomplcacheのキーワード補完と拡張プラグインを解説します。
キーワード補完とは
neocomplcacheのキーワード補完は、<C-n>
や<C-p>
で呼び出すことのできるVim組み込みのキーワード補完を模倣して設計されています。
言語ごとにキーワードパターンを定義して、一括して候補を検索できるのが最大の特徴です。
使用するキーワードパターンはg:NeoComplCache_KeywordPatterns
で定義されています。
pluginとcomplfuncの違い
neocomplcacheには補完候補を収集するために、pluginとcomplfuncという二つの拡張プラグインが存在します。
それぞれ、autoload/neocomplcache/plugin
とautoload/neocomplcache/complfunc
に配置します。
pluginはkeyword_complete.vim
から一括して呼びだされる拡張プラグインで、単純なため実装が比較的簡単です。
complfuncは補完開始位置を拡張プラグイン側で計算しないといけません。
その代わり、補完開始位置は自由に決定できるので、ファイル名補完のような複雑な補完を実装できます。
初期のneocomplcacheでは、complfuncは一つのプラグインしか呼べないという制限がありました。
現在のバージョンでは、complfuncの候補も統合できるように改良されているため、そのような制限はありません。
標準添付のplugin
buffer_complete.vim
開いているバッファから補完候補を収集するプラグインです。バッファ内の単語を解析することで、使用頻度の学習も行います。
dictionary_complete.vim
g:NeoComplCache_DictionaryFileTypeLists
から補完候補を収集するプラグインです。
include_complete.vim
バッファで開いているインクルードファイルから補完候補を収集するプラグインです。Vimにもインクルード補完はありますが、より拡張されています。
snippets_complete.vim
スニペットを補完するプラグインです。補完するだけではなく、単体でスニペット展開プラグインとしても動作します。
syntax_complete.vim
シンタックスファイルからキーワードを補完するプラグインです。Vim標準添付のsyntaxcomplete.vimよりも高機能であり、結果をキャッシュするので高速です。複雑なTeXのシンタックスも解析できます。
tags_complete.vim
タグファイルからキーワードを補完するプラグインです。
標準添付のcomplfunc
completefunc_complete.vim
補完関数を登録することで、自動呼び出しするプラグインです。neocomplcacheはcompletefunc
を上書きしてしまうので、その対策に使えます。
手動補完として補完関数を個別に呼び出しすることもできます。
filename_complete.vim
ファイル名を補完するプラグインです。詳しい解説は、[Hack #119: neocomplcache Hacks(2) オムニ補完]を参照してください。
keyword_complete.vim
pluginから候補を収集し、キーワードを補完するプラグインです。
omni_complete.vim
オムニ補完を呼び出し、候補を収集するプラグインです。詳しい解説は、[Hack #119: neocomplcache Hacks(2) オムニ補完]を参照してください。
vim_complete.vim
Vimのオムニ補完機能を提供するプラグインです。Vim標準の<C-x><C-v>
よりも機能が拡張されていて、ローカル変数や引数の補完も可能です。
もどる
blog comments powered by Disqus