未完放流

終わりなど無い、有るのは試練だけだ……

Kaoriya Vim 8 on Windows 10 で dein & denite を使う

Vim の進歩も速すぎてついていけません。

そもそも Vim の標準機能も何割知っているのかも怪しいのですが……。 本などを読むとどこまでが標準なのかすら判断もできません。

そんな私もKaroiya Vim 8 on windows 10 で dein と denite が使いたいと思い手順をまとめました。

dein & denite インストール手順

Kaoriya-Vim を適切にインストール済みとします。 PythonとGitのインストールは順序は関係ありません。これらを準備後、dein & deniteをインストールします。

Shougo/dein.vim によると Widows には xcopy が必要と書かれていますが、私の環境では最初から入っていたので以下では省略します (標準か何らかのソフトに付属していたのか分かりません)。

Python

  1. Python をインストールしWindows$PATHに追加
  2. ついでに$ pip install neovim

Git

  1. Git for Windows をインストールし、$GIT/cmdWindows$PATHに追加

dein

  1. $ git clone https://github.com/Shougo/dein.vim.git {ex. install_path}
  2. _vimrc にShougo/dein.vim.vimrcを追記。環境に応じたpathに書き換え
    1. ついでに call dein#add('Shougo/denite.nvim') を追記

denite

  1. vim 起動後、:call dein#install()
  2. :Denite colorscheme などで動作確認

"Welcom to Dark Power World."

以下、詳細になります。

Vim : Python 2 or 3 interface

Python で書かれた plugin を使う際などに必要で、ビルド時にフラグを立てておく必要があります。 Kaoriya-Vim では予め有効になっています。追加で python*.dll の読み込みが必要。 具体的には、組み込み版 PythonVim のインストールフォルダに入れるか、通常の Python をインストールし $PATH を通しておけば使えるようになります。

尚、確認は以下のコマンドで行います。無効なら0、有効なら1が返ってきます。

:echo has('python3')

Dentie.nvim には Python Package の neovim が必要になります。 組み込み版pipのやり方が分からないので標準版で行いました。

Kaoriya-Vim の README には、現在は Python3 系列を使う際には最新の3.6.x系列ではなく3.5.x系列が推奨されていました。 今回確認したのは3.5系列になります。

環境を複数入れる場合や、Anaconda では確認しておりません。

Git for Windows

思い込みが原因ですが、少しはまりました。

Windows 版の Git には開発の経緯からか bash subsystem が付属します。

付属の Git Bash

$ which git
/mingw64/bin/git

と返されるので、最初は $PATH をこちらを通していました。

しかしインストールフォルダ($GITと表記)にエクスプローラーなどで git.exe を検索をかけると複数存在することが分かります。

$GIT\cmd\git.exe
$GIT\bin\git.exe
......
.....
...

これらの中から Windows にどの git.exe を使うか知らせる必要があります。 間違った$PATHを設定してもある程度動いてしまうため原因の追究に時間がかかりました。

こんなことをするのは私ぐらいかもしれませんが(笑)

おまけ

途中で挫折しかけて以下に付属する vim に乗り換えようとも思いました。

Git for Windows : vim は $HOME/_vimrc を kaoriya と共有します。 こちらはサブシステムがメインではないのでソフトの追加などは手間がかかるようです。

msys2 は多分 Git for Windows のオリジナル?にあたるプロジェクトかと思います。 pacman が素晴らしいという噂は聞いているのですが、新しいことを憶えるのを節約しているので止めました。 詳細は省きますが簡単に dein も denite も入ります。

dein と denite が安定して動くとVSCodeの出番がなくなってしまいそうです。