【nvim】Neovim のインストール〜セットアップ【SW】

Neovim のインストール〜セットアップ
f:id:dnkrnka:20180512174622p:plain:right
本ページでは Neovim の導入に関して次の3点を実施する。その後のプラグインの導入についてはこちらに記した。

  • Ubuntu 18.04 環境に Neovim をインストールする
  • Neovim のセットアップ(プラグイン非導入)をする。
  • Neovim の GUI フロントエンドをインストールする

本ページの設定が済んだら、プラグインのセットアップを行う。
正直、何度もセットアップするのは面倒なので、$HOME/.config/nvim を丸ごとコピーしている。
 

 

Ubuntu 18.04 環境に Neovim をインストールする

参考にしたサイト

Ubuntu 16.04にNeoVim を導入する

1. debリポジトリ情報を更新し、neovimパッケージをインストールする。

% sudo apt-get install software-properties-common
% sudo add-apt-repository ppa:neovim-ppa/unstable
% sudo apt-get update
% sudo apt-get install neovim
% sudo apt-get install python3-dev python3-pip
% exit

 

2. インストールできたことを確認する

% which nvim
/usr/bin/nvim
% nvim --version
NVIM v0.2.1-dev
Build type: RelWithDebInfo
Compilation: /usr/bin/x86_64-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_MSGPACK_HAS_FLOAT32 -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/build/config -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/src -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/.deps/usr/include -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/.deps/usr/include -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/.deps/usr/include -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/.deps/usr/include -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/.deps/usr/include -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/.deps/usr/include -I/usr/include -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/build/src/nvim/auto -I/build/neovim-OV8e8Q/neovim-0.2.0ubuntu1+git201707201346+3537+26~ubuntu16.10.1/build/include
Compiled by root@lcy01-27

Optional features included (+) or not (-): +acl   +iconv    +jemalloc +tui      
For differences from Vim, see :help vim-differences

      システム vimrc: "$VIM/sysinit.vim"
       省略時の $VIM: "/usr/share/nvim"

 
 

Neovim のセットアップ(プラグイン非導入)をする

VIM のプラグインを使わない vimrc や gvimrc と同程度の設定をする。
 

1. NeoVim用の環境変数を記述するファイルを作成する。(bash)

1-1. 環境変数 XDG_CONFIG_HOME を設定する。

XDG_CONFIG_HOME がなければデフォルトは $HOME/.config となる。が、一応設定する。

% export XDG_CONFIG_HOME=~/.config
% echo 'export XDG_CONFIG_HOME=~/.config' >> ~/.bash_profile

 

1-2. NeoVim用の設定ファイルを作成する
% mkdir -p ~/.config/nvim
% touch ~/.config/nvim/init.vim

 

2. python3 が使えるようにする。

デフォルトで使用する python のバージョンが 2.7.13 であるものとする。

# python --version
Python 2.7.13

 
nvim の新プラグインマネージャの使用に python3 が必要なようなので、こちらのサイトを参考にした。

nvim を開いて、「:echo ('python3')」で 0 が返るようなら python3 が無効になっている。(1なら有効)。
確認をしたところ「0」が返された*1ので有効にするよう試みるが、python のバージョンは 2.7.13 のまま。
すでに neovim インストール時に python3 もインストールしたはずだが、念のため再度インストールを試みる。
 

% sudo apt-get install python-pip
% pip install -U pip3
Collecting pip3
  Could not find a version that satisfies the requirement pip3 (from versions: )
No matching distribution found for pip3
# python --version
Python 2.7.15rc1
% sudo apt-get install python3-dev python3-pip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
python3-dev はすでに最新バージョン (3.5.3-1) です。
python3-pip はすでに最新バージョン (9.0.1-2) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  fcitx-libs-qt5 language-pack-gnome-ja language-pack-gnome-ja-base language-pack-ja language-pack-ja-base libreoffice-help-ja libreoffice-l10n-ja linux-headers-4.8.0-26
  linux-headers-4.8.0-26-generic linux-image-4.8.0-26-generic linux-image-extra-4.8.0-26-generic thunderbird-locale-ja
これを削除するには 'sudo apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

 
とりあえず以下のように展開されていれば、nvim で python3 が使われる。

% ls -ltr /usr/bin/python*
lrwxrwxrwx 1 root root      34  119  2017 /usr/bin/python3.5m-config -> x86_64-linux-gnu-python3.5m-config
-rwxr-xr-x 2 root root 4743656  119  2017 /usr/bin/python3.5m
lrwxrwxrwx 1 root root      33  119  2017 /usr/bin/python3.5-config -> x86_64-linux-gnu-python3.5-config
-rwxr-xr-x 2 root root 4743656  119  2017 /usr/bin/python3.5
-rwxr-xr-x 1 root root 3785256  119  2017 /usr/bin/python2.7
lrwxrwxrwx 1 root root      17  120  2017 /usr/bin/python3m-config -> python3.5m-config
lrwxrwxrwx 1 root root      10  120  2017 /usr/bin/python3m -> python3.5m
lrwxrwxrwx 1 root root      16  120  2017 /usr/bin/python3-config -> python3.5-config
lrwxrwxrwx 1 root root       9  120  2017 /usr/bin/python3 -> python3.5
lrwxrwxrwx 1 root root       9  124  2017 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root      18  912 22:37 /usr/bin/python -> /usr/bin/python2.7
% nvim -c "echo has('python3')"
nvim 画面の exec 行に「1」が表示されれば python3 が認識されている。

 
 

Neovim の GUI フロントエンドをインストールする

上記までのセットアップ手順は CUI ベースの Neovim である。
そこで、GUI 版 Neovim である nvim-qt をインストールする。
なお、GUI フロントエンドを使うにあたり cmake と Qt5 が必要になる。
 

1. インストール手順

 

1-1. cmake のインストール
% sudo apt-get install -y cmake

 

1-2. Qt5 のインストール
% sudo apt-get build-dep -y qt5-default

 

1-3. neovim-qt のビルド
% cd /tmp/
% git clone https://github.com/equalsraf/neovim-qt.git
% cd neovim-qt
% mkdir build
% cd build
% cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:36 (find_package):
  By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5Core", but
  CMake did not find one.

  Could not find a package configuration file provided by "Qt5Core" with any
  of the following names:

    Qt5CoreConfig.cmake
    qt5core-config.cmake

  Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set
  "Qt5Core_DIR" to a directory containing one of the above files.  If
  "Qt5Core" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!
See also "/tmp/neovim-qt/build/CMakeFiles/CMakeOutput.log".

 
Qt5Core が無い、といったエラーが出た。find で調べたところ /usr/lib/x86_64-linux-gnu/ にあるが、対策方法がわからない。

$ sudo find / -type f -iname "*qt5core*"
略
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.9.5

 
そこで、Web で調べると対策方法が見つかるので試してみる。

% sudo apt-get install -y apt-file
% sudo apt-file search Qt5CoreConfig.cmake
qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake
% sudo apt install -y qtbase5-dev

 
再び cmake -DCMAKE_BUILD_TYPE=Release .. を実行すると成功した。

$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- Downloading Msgpack...
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Performing Test MSGPACK_ENABLE_GCC_CXX_ATOMIC
-- Performing Test MSGPACK_ENABLE_GCC_CXX_ATOMIC - Failed
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Found PythonInterp: /usr/bin/python (found version "2.7.15") 
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/neovim-qt/build

 
いよいよ、 ./bin/nvim-qt の作成を行う

% cmake --build .
略
[ 98%] Building CXX object src/gui/shellwidget/test/CMakeFiles/bench_scroll.dir/bench_scroll.cpp.o
[100%] Building CXX object src/gui/shellwidget/test/CMakeFiles/bench_scroll.dir/bench_scroll_autogen/mocs_compilation.cpp.o
[100%] Linking CXX executable ../../../../bin/bench_scroll
[100%] Built target bench_scroll

 

1-4. $HOME/bin/nvim-qt へ展開する
% mv ./bin/nvim-qt ~/bin/.

 

1-5. nvim-qt を起動してみる
% nvim-qt &

 

2. セットアップ ・・・ 色テーマ phd の追加

 
以下は強引な方法だが、これで colorscheme phd とすることで phd 設定になる。

% sudo git clone https://github.com/vim-scripts/phd.git  .
% sudo cp phd/colors/phd.vim /usr/share/nvim/runtime/colors/.

*1:nvim -c "echo has('python3')"