vimのc++開発環境つくり|deopleteの導入方法
c++の開発環境をvimで作りたく、入力補完としてdeoplete.nvimというvimプラグインを導入したのでメモ。
pluginはdeim.tomlで管理しています。
環境:Arch Linux(ウィンドウマネージャi3)
deoplete.nvimを導入する方法
上から順番に作業していきます。
前提として必要な条件
- vim --versionで+python3となっていること。
- vimコマンドモードで:echo has("python3") の結果が
return 1であることも必要。
もしpythonが無効だったらvimをpython3有効にしてビルドしなおす必要あります。
pythonインターフェースのインストール
python-pipのインストール
$ sudo pacman -S python-pip
pynvimのインストール
$ pip install --user pynim
プラグインのインストール
必要なプラグインが多いので、dein.tmolの内容を列挙します。
[[plugins]]
repo = 'Shougo/deoplete.nvim.git'
[[plugins]]
repo = 'prabirshrestha/vim-lsp.git'
[[plugins]]
repo = 'lighttiger2505/deoplete-vim-lsp.git'
[[plugins]]
repo = 'mattn/vim-lsp-settings.git'
.vimrcにdeopleteを使うことの記載
" Use deoplete
let g:deoplete#enable_at_startup = 1
vim-lsp-settingsを使うときにclangdが必要なのでインストール
clangパッケージにclangdが含まれています。
$ pacman -S clang
好きな言語のlspサーバーをダウンロード
vimで使いたい言語の拡張子をつけたファイルを開き、コマンドモードで、
:LspInstallServer
を実行すると、ファイルの拡張子からプログラミング言語のファイルタイプに合わせた言語のlspサーバーデータをダウンロードするかの問いが表示されます。yでダウンロード、cでキャンセル。
以上でとりあえず使える状態になります。
todoメモ
今回hello.cppというファイル名でvimを開いて上記コマンドを実行したら、途中でうまくいかなかったけど、c++の補完は使えているみたいです。
この辺また深堀りしたいと思います。
すでにclangdインストールしているのにclangdインストールをすることによるコンフリクトみたいなのかもと推測です。
試しにgoのファイルで試したら、goのlspは正常にダウンロードできました。
Discussion