Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

WindowsにNeovim環境を構築

More than 1 year has passed since last update.

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. インストール完了後、コマンドプロンプトから下記のコマンド入力し、バージョンが表示されれば動作確認完了。
コマンドプロンプト
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. コマンドプロンプトから下記のコマンドを入力し、正常終了することを確認する。
コマンドプロンプト
C:> pip install neovim
  1. nvim を起動し、:CheckHealth コマンドを入力して、以下のようにpython provider の下の行にエラーが出力されていないことを確認する。
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、日本語ファイル名を表示を設定する。

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'
kishiro
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away