WindowsにNeovim環境を構築

#Neovim本体のインストール
https://github.com/neovim/neovim/wiki/Installing-Neovim

1. 上記のサイトからバイナリー版をダウンロードする。
2. Zipファイルを解凍し、任意のディレクトリに配置する。
3. nvim-qt.exe をダブルクリックして、nvim が起動できれば動作確認完了。


#Vimのプラグインマネージャーをインストールする
プラグインマネージャーの dein と dein の動作前提である python3 をインストールする。

##python3のインストール
https://www.python.org/

1. 上記のサイトからインストーラー版をダウンロードする。
2. インストーラーを起動する。
3. インストーラーの "Add Python 3.x to Path" のチェックボックスをチェックしてインストールする。
4. インストール完了後、コマンドプロンプトから下記のコマンド入力し、バージョンが表示されれば動作確認完了。

```bat:コマンドプロンプト
C:> python --version 
Python 3.7.0
```

##Neovim Python Client のインストール
###Microsoft Visual C++ Build Tools をインストール
https://download.microsoft.com/download/5/F/7/5F7ACAEB-8363-451F-9425-68A90F98B238/visualcppbuildtools_full.exe

1. 上記のサイトからインストーラー版ダウンロードする。
2. インストーラーに従ってインストールする。

###Python provider のインストール
1. コマンドプロンプトから下記のコマンドを入力し、正常終了することを確認する。

```bat:コマンドプロンプト
C:> pip install neovim
```

2. nvim を起動し、:CheckHealth コマンドを入力して、以下のようにpython provider の下の行にエラーが出力されていないことを確認する。

```vim:Neovim
## Python 3 provider (optional)
  - INFO: Using: g:python3_host_prog = "C:/Users/kishiro/Envs/neovim3/Scripts/python.exe"
  - INFO: Multiple python.exe executables found.  Set `g:python3_host_prog` to avoid surprises.
  - INFO: Executable: C:\bin\Python\Python37\python.exe
  - INFO: Other python executable: /python.exe
  - INFO: Python3 version: 3.7.0
  - INFO: python.exe-neovim version: 0.2.6
  - OK: Latest python.exe-neovim is installed: 0.2.6
```

### git のインストール
https://git-scm.com/download/win
1. 上記のサイトからインストーラー版ダウンロードする。
2. インストーラーに従ってインストールする。

https://qiita.com/toshi-click/items/dcf3dd48fdc74c91b409
インストール時の選択項目については、上記のURLの内容を推奨する。
ただし、nvim から直接gitを呼び出す場合、環境変数PATHに C:\Program Files\Git\cmd が設定されている必要があるので、インストール時に gitbash only を選択した場合、手作業で環境変数PATHを設定する。

### git の global設定
gitアカウントの氏名、メールアドレス、文字コードをUTF-8、日本語ファイル名を表示を設定する。

```bash:gitbash
$ git config --global user.name "taro yamada"
$ git config --global user.email taro.yamada@example.com
$ git config --global gui.encoding utf-8
$ git config --global core.quotepath false
```


## dein の設定
init.vim の配置場所
- Windowsのデフォルト：		%LOCALAPPDATA%\nvim\init.vim
- 環境変数XDG_CONFIG_HOME設定時：	%XDG_CONFIG_HOME%\nvim\init.vim

```init.vim
set runtimepath+=~/.nvim/dein/repos/github.com/Shougo/dein.vim

let s:dein_home_dir  = expand('~/.nvim/dein')
let s:dein_repo_dir  = expand('~/.nvim/dein/repos/github.com/Shougo/dein.vim')
let s:toml_file      = expand('~/.nvim/conf/dein.toml')
let s:toml_lazy      = expand('~/.nvim/conf/dein_lazy.toml')


" dein.vim がなければ git clone
if !isdirectory(s:dein_repo_dir)
  execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
endif


" プラグイン読み込み＆キャッシュ作成
if dein#load_state(s:dein_home_dir)
  call dein#begin(s:dein_home_dir)
  call dein#load_toml(s:toml_file, {'lazy': 0})
  call dein#load_toml(s:toml_lazy, {'lazy': 1})
  call dein#end()
  call dein#save_state()
endif


" 不足プラグインの自動インストール
if has('vim_starting') && dein#check_install()
  call dein#install()
endif
```

###起動時ロード用のプラグイン設定

```:dein.toml
[[plugins]]
repo = 'Shougo/dein.vim'
```

###遅延ロード用のプラグイン設定

```:dein_lazy.toml
[[plugins]]
[[plugins]]
repo = 'Shougo/denite.nvim'
on_cmd = 'Denite'
on_i = 1
hook_source = '''
  call denite#custom#map('insert', '<c-n>', '<denite:move_to_next_line>', 'noremap')
  call denite#custom#map('insert', '<c-p>', '<denite:move_to_previous_line>', 'noremap')
'''

[[plugins]] # Plugin to easily access Most Recently Used (MRU) files
repo = 'Shougo/neomru.vim'
on_source = 'denite.nvim'
on_path = '.*'

[[plugins]] # Yank
repo = 'Shougo/neoyank.vim'
on_source = 'denite.nvim'
on_event = 'TextYankPost'
```