Coc.nvimを触ってみようアドベントカレンダー 23日目 – coc-tabnine

とっても楽しいcoc.nvimを触ってみようというアドベントカレンダーです。23日目はcoc-tabnine。TabnineによるPublicなリポジトリをソースとした機械学習結果を元に補完を行ってくれます。
2021.12.23

Coc.nvimを触ってみよう Advent Calendar 2021 23日目です。

今回は coc-tabnine です。

coc-tabnine について

補完とLintを行う言語サーバのTabnineを利用する拡張です。coc経由で利用できる言語サーバ自体数多くありますが、Tabnineは少し踏み入った動作を行ってくれます。

coc-tabnine をインストールする

vimを起動した状態で以下のコマンドを実行します。

:CocInstall coc-tabnine

依存しているTabnineをコマンドで追加インストールします。

:CocCommand tabnine.updateTabNine

以下の表示が出たら完了です。Restartしておきましょう。

:CocRestart

使ってみる

基本は何らかの拡張子が付いたファイルを開くか、拡張子付きファイル名を引数として渡します。

vim test.py

Tabnineと他の言語サーバの違いは、以下のように関数を書いてみると直ぐに分かります。

import datetime


def test(a: datetime):
    print(a)

動作すると以下のように引数込で補完対象が表示されます。

あとがき

TabnineのPublicリポジトリをソースにした機械学習をバックグラウンドに持っているだけあって、日本語入力の補完もなめらかなものが提示されます。

coc-tabnineは初期設定の場合Free版をベースにしているためAPIKEY不要で使えますが、自身のリポジトリをベースにした補完を動作させたいのであれば月額$12も検討してみるとよいでしょう。