Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

意外と知られていない、Vimのオムニ補完について

$
0
0

オムニ補完(Omni Completion)はVimで使用できる補完の一種で、編集中のコードの文脈を判断して、適切な補完候補を返してくれます。

IDEによくある高度な自動補完をイメージしてもらえればわかりやすいと思います。あれを手動で行う(特定のキーバインドを入力して変換候補を表示する)といった感じでしょうか。

設定する

オムニ補完は基本的にデフォルトでは使用できません(ただし一部の言語では設定しなくても使えます)。使用するにはomnifuncオプションを設定します。

set omnifunc=syntaxcomplete#Complete

これで設定は終わり。

使ってみる

オムニ補完は挿入モード内で<C-x><C-o>を入力することで使用できます。

たとえばファイルタイプがvimのファイルの場合、

scripte

と入力し、<C-x><C-o>を入力すると

scriptencoding

と展開されます。

今回は変換候補が一つでしたので自動で挿入されましたが、変換候補が複数ある場合はその中からどれかを選ぶことになります。

他にも、インスタンスのメソッドなどいろいろと補完できます。

deoplete.nvimとの連帯

Shougoさんのプラグインdeoplete.nvimと連帯し、自動で補完候補を出すことも可能です。

私は現在deopete.nvimを使っていないので検証できませんが、確かomnifuncを設定するだけで自動で表示されたと思います。

その他

オムニ補完はとても便利なのですが、やはりLanguage Client ProtocolやPythonのjedi-vimの精度には劣るといった感じです。補完にこだわりがある場合にオムニ補完は適していないかもしれません。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>