Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3で、ddc-tabnineが使えそうです、などと書いたのですが、早速やってみました。

まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、tabnine-nvimにあるダウンロードスクリプトを利用させてもらいます。
(あるいはこちらのdl-binaries.shを単独でダウンロードして実行しても良いかもしれません)

すると最新バージョンのtabnineがbinaries/4.194.0/x86_64-unknown-linux-musl以下に展開されます。

ddc-tabnineでもダウンロードの仕組みはあるのですが、ちゃんと動かないようです。また、あまりメンテもされていないっぽいです。が、ddcプラグイン自体は動きます。

ちなみzipファイルを展開して出てきたTabNineを実行すると、.config/TabNineというディレクトリが作成されて設定などはここに入るようです。

次にddc-tabnineをdein.vimでインストールします。

call dein#add('LumaKernel/ddc-tabnine')  

でもって、そのページにある設定もvimrcにコピーしておきます。

call ddc#custom#patch_global('sources', ['tabnine'])
call ddc#custom#patch_global('sourceOptions', {
    \ 'tabnine': {
    \   'mark': 'TN',
    \   'maxCandidates': 5,
    \   'isVolatile': v:true,
    \ }})

ここで注意。sourceOptionsのmaxCandidatesは、2022年2月22日にmaxItemsに変更されています。

2022.02.22
* Rename maxCandidates to maxItems.
* Rename ddc#map#insert_candidate() to ddc#map#insert_item().
* Deprecate gatherCandidates attribute.

ですので、そのように修正。

また、sourcesにtabnineを追加します。正直、aroundはいらないかなとも思いますが。

call ddc#custom#patch_global('sources', ['vim-lsp', 'tabnine', 'around'])

ここでVimを終了して再起動すると、TabNineが見つからないとかのエラーが出ます。なので、先程ダウンロードしたbinariesディレクトリをそのまま ~/.cache/ddc-tabnine/以下に移動します。

たぶんここまでくれば動くと思いますが、動かない場合(TabNineがまだ見つからないとか)は、

call ddc#custom#patch_global('sourceParams', {
            \ 'tabnine': {
            \   'maxNumResults': 10,
            \   'storageDir': expand('~/.cache/ddc-tabnine/binaries'),
            \ }})

が必要かもしれません。これはddc-tabnine.txtに書いてあります。

 ということでソースを編集してみると、


ちゃんとTabNineが動いているようです。右のほうに "TN" とありますし。

めでたしめでたし、なんですが、あとはRuffでのisortとか試さないと。

0 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...