👌

vimのc++開発環境つくり|deopleteの導入方法

2021/03/29に公開

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でキャンセル。

以上でとりあえず使える状態になります。

completion


todoメモ

今回hello.cppというファイル名でvimを開いて上記コマンドを実行したら、途中でうまくいかなかったけど、c++の補完は使えているみたいです。

この辺また深堀りしたいと思います。
すでにclangdインストールしているのにclangdインストールをすることによるコンフリクトみたいなのかもと推測です。

試しにgoのファイルで試したら、goのlspは正常にダウンロードできました。

Discussion