Hack #157: neocomplcache Hacks(5) タグ補完 ディクショナリ補完
Posted at 2010/06/25ツイート
今回はタグ補完とディクショナリ補完です。タグ補完は微妙ですが、ディクショナリ補完は便利に使えるでしょう。
タグ補完とは
タグ補完とは、’tags’から補完候補を取ってくることで補完することです。
Vim標準では<C-x><C-v>を用います。
neocomplcacheではtags_complete
というプラグインによって実装されています。
.
や->
といったg:neocomplcache_member_prefix_patterns[&filetype]
にマッチする入力のあるときに補完を行うと、
クラスのメンバのみが補完候補となる機能を持っています。
要望があったので実装しましたが、私は個人的にタグ補完が好きではありません。なぜなら、タグ補完は候補が多くなりすぎるからです。
候補が多いとneocomplcacheのキャッシュや補完動作が明らかに遅くなります。
そこでtags_complete.vimでは、g:neocomplcache_caching_limit_file_size
よりも大きいタグファイルは自動的にキャッシュしません。
どうしても使いたいならば、:NeoComplCacheCachingTags
コマンドを実行してください。
ctagsではタグを生成できない言語も多いので、現在ではより高機能なインクルード補完を用いるべきでしょう。インクルード補完については、今後のVim Hacksで解説予定です。
ディクショナリ補完とは
ディクショナリ補完とは、登録された辞書ファイルから補完候補を取ってくることで補完することです。
前回解説したシンタックス補完も一種のディクショナリ補完と言えます。
Vim標準では<C-x><C-k>を用います。
neocomplcacheではdictionary_complete
というプラグインによって実装されています。
g:neocomplcache_dictionary_filetype_lists[&filetype]
に辞書ファイルを登録しておけば、自動的にキャッシュされます。
例えば、vimshellでは履歴ファイルを辞書ファイルとして登録しておけば便利です。
g:neocomplcache_dictionary_filetype_lists[&filetype]
が存在していない場合、自動的に’dictionary’の値が使われます。
もどる
blog comments powered by Disqus