NeoVim設定-コード補完機能追加 Deno, Dein.div, dcc.vim
通常はVSCodeを使用して作業を行っていますが、ラズベリーパイや軽微な修正などの場合にはNeoVimも活用したいと思っていました。そこで先日NeoVimに入門したこともあり、そのついでにNeoVimに機能を追加して、プログラミングの開発環境を作ってみることにしました。
目標
- Pythonのコード補完機能の追加
- プラグインを使ってみる
具体的には
以下をインストール、設定などしてみたいと思います。
今回はPythonに特化したコード補完ではなく、「ファイルに出てきている単語のコード補完の設定」となりました。
Pythonでコードの補完のために
第一の目的です。ざっと整理したところ、
ddc.vimという自動補完プラグインが良いらしい
– それにはdenops.vimが必要
— プラグインマネージャーDein.vimを使用
— さらにDoneを使用
という関係があるようです。
インストールする・した環境
- Mint Linux 20.3
- NeoVim 0.9.0
- deno 1.32.3
Deno
ddc.vimへ行き着くために、まずはDenoをインストールします。
インストールはリンク先のInstallボタンの先に書いてある通りに実行しました。
curl -fsSL https://deno.land/x/install/install.sh | sh
インストール完了後、.bashrc等にexportを2つ手動で追加するようにメッセージが出るので、そのようにします。
(Deonが完了) Denoがインストールされた
Denoについて調べたこと
- ジャンルはNodeと比較される(node.jsの後継と目される)
男爵ディーノと読む- バイナリのパス /home/{ユーザ名}/.deno/bin/deno
Dein.vim
次にdein.vimをインストールします。
リンクページのBasic installationに書いてある内容をinit.vimに追記でも良さそうですが、私は次のCommand line installationの方を参考にしました。
上記リンク先のスクリプトを実行しました。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Shougo/dein-installer.vim/master/installer.sh)"
途中に2回の質問がありました。
- .cacheか.localかのどちらにインストールしますか?と聞かれると思うので、.cacheを選択しました
- configの場所をvimかneovimか尋ねられるので、nvimを選択しました
インストールが完了したら、新しいNeoVimの設定ファイル(init.vim)が出来ているはずです。
~/.config/nvim/init.vim
古いinit.vimの内容はinit.vim.pre-dein-vimという名前で残っているので、後で必要な所を元に戻そうと思います。
(Dein.vimが完了) プラグインマネージャーがインストールされた。
調べたこと
- Dein.vim プラグインマネージャー
- プラグインを管理するためのプラグイン
何種類か有るらしく、vim-plugが人気が高い感じを受けました。
- vim-plug
- Vundle
- Dein.vim etc…
ddc.vim(denops.vimも一緒に)
最後としてddc.vimとdenops.vimをインストールします。
今回目的の自動補完プラグインになります。
まずは、ddc.vim
リンク先ページのInstall -> For dein.vimの所に書いてあるスクリプトをinit.vimに貼り付けます。
sourceとかfilterとかもコード補完には必要になるみたいで、ついでに有効にしてインストールしました。
(init.vim)
call dein#begin()
call dein#add('Shougo/ddc.vim')
call dein#add('vim-denops/denops.vim')
" Install your UIs
call dein#add('Shougo/ddc-ui-native')
" Install your sources
call dein#add('Shougo/ddc-source-around')
" Install your filters
call dein#add('Shougo/ddc-matcher_head')
call dein#add('Shougo/ddc-sorter_rank')
call dein#end()
NeoVimが起動した時にインストールが実行されるように以下の場所を有効化します。
" Uncomment if you want to install not-installed plugins on startup.
if dein#check_install()
call dein#install()
endif
続けて、denops.vim
同じくリンク先のConfigurationに書いてあるスクリプトをinit.vimに貼り付けます。
(init.vim)
" Customize global settings
" You must set the default ui.
" Note: native ui
" https://github.com/Shougo/ddc-ui-native
call ddc#custom#patch_global('ui', 'native')
(省略)
" Use ddc.
call ddc#enable()
NeoVimの再起動
(dcc.vimが完了) コード補完プラグインがインストールされた。
調べたこと
最後に
Shougoさん、ただ一言、凄いです!
追記 Pythonのコード補完について
LSP (Language Server Protocol) と呼称される。Pythonのコード補完を実現するものらしい。
jedi-language-serverやラッパーのcoc-pyrightなどをいつかインストール設定して使ってみたいと思ってます。
以上になります。またお会いしましょう
(Pythonのコード補完についてcoc.nvimを使ったブログを書きました)
3件のフィードバック