vim-users.jp

Hack #147: neocomplcache Hacks(4) シンタックス補完

Posted at 2010/05/16
このエントリーをはてなブックマークに追加

四回目の今回はシンタックス補完を解説します。

シンタックス補完とは

シンタックス補完とは、標準添付プラグインのautoload/syntaxComplete.vimをさらに汎用的にし、neocomplcacheのプラグインとして独自実装したものです。 内部動作としては:syn listの結果を解析し、キーワードを補完候補に加えます。 1度目は候補をキャッシュするので、若干時間がかかりますが、その後は高速に動作します。 Vimの豊富なシンタックスキーワードを有効活用するので、辞書を別途用意する必要はなく、非常に便利です。

autoload/syntaxComplete.vimとの比較

autoload/syntaxComplete.vimはキーワード文字列しか解析できませんが、neocomplcacheのシンタックス補完は正規表現のパターンも解析するので、HaskellやTeXといったファイルタイプでもシンタックス補完が使えます。 ただし()や[]を使った複雑な正規表現では、上手くパースできないことがあります。 ご了承下さい。

Same FileType Completion

シンタックス補完はneocomplcache独自の補完機能である、Same FileType Completionに対応しています。 Same FileType CompletionとはCとC++のように、似たファイルタイプを関連付けて相互参照できるようにす機能です。 これにより、vimshellのiexeから起動したirbのバッファ上でRubyキーワードを補完できます。

使用上の注意

Action scriptやVim Scriptのautocmdを補完するとき、シンタックスの補完候補が小文字になってしまうことがあります。 これはシンタックスファイルの syn case ignore が悪さをしているせいです。プラグイン側では対処しようがないので、気になるようだったら直接シンタックスファイルを修正してください。

Shougo

もどる
blog comments powered by Disqus