ブログ Neovimセットアップ Windows用のサムネイル

Neovimセットアップ Windows用

Created at Modified at

モチベーション

  • LeetCodeやAtCoderなど競プロでPythonを使いたい。
  • 色々エディターを試して個人開発にはVimが効率良い、最近Neovimが気になる。
  • このブログにも使っているinkdropの作者様のYouTubeがとてもかっこよかった

ターミナルとPower shellのインストール

Microsoft Storeでそれぞれインストールしておく。

Windows Terminal PowerShell

Neovimのインストール

インストールにはScoopを使う。

Scoopとは Windowsで動作するパッケージ管理ソフトのこと。 gitなどのツールやプログラミング言語など インストーラー使ったり.zip解凍して環境変数の設定をしなくてもコマンド一発で使えるようになるメリットがある。

Scoopがない場合は公式の手順に沿って入れておく。 https://scoop.sh/

set-executionpolicy remotesigned -scope currentuser
irm get.scoop.sh | iex

Scoopでパッケージをインストール

  • git
  • neovim
  • nvm
  • yarn
  • python

pip3(Pip Installs Packages)でneovimをインストール

nodeはのちのにyarnが必要になるためついでに入れておく。

scoop install git neovim nvm yarn python
pip3 install neovim

nvm install latest
nvm use latest
node -v

nodeとyarnの環境変数を通す

PS> $env:Path += ";%USERPROFILE%\scoop\apps\nvm\current\nodejs\nodejs;%USERPROFILE%\scoop\apps\yarn\current\bin"
PS> [Environment]::SetEnvironmentVariable('PATH', $Env:Path, 'User')

設定ファイル init.vim

Vimでは.vimrcに設定内容を記述するがNeovimではinit.vimに設定内容を記述する。

init.vimについて

Neovimをインストールしただけではinit.vimは存在しないため自分で作る必要がある、

Localにnvimディレクトリを作成し、init.vimファイルを作成する。

C:\Users\${USER_NAME}\AppData\Local\nvim\init.vim

基本設定の一例はこちら

set encoding=utf-8
set fileencodings=utf-8,cp932
set number
set showcmd
set splitbelow
set splitright
set noequalalways
set wildmenu
set smartindent
set noundofile
set noswapfile
set ruler                              
set cursorline                        
set expandtab                         
set tabstop=4                         
set shiftwidth=4

プラグイン

init.vimでプラグインを簡単に読み込ませることができるvim-plugをインストールする。

>https://github.com/junegunn/vim-plug

PS> iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
    ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force

プラグイン各種のインストールは仕組みを理解するためにあえてgitを使用して

※ディレクトリ名をpluginとするとエラーになったのでpluginsやpluggedなどとすること

mkdir C:\Users\${USER_NAME}\AppData\Local\nvim\plugins

git clone https://github.com/vim-airline/vim-airline-themes
git clone https://github.com/vim-airline/vim-airline
git clone https://github.com/preservim/nerdtree.git
git clone https://github.com/ryanoasis/vim-devicons
git clone https://github.com/pepo-le/win-ime-con.nvim.git
call plug#begin('C:\Users\${USER_NAME}\AppData\Local\nvim\plugins')

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tpope/vim-commentary'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'preservim/nerdtree'
Plug 'ryanoasis/vim-devicons'
Plug 'pepo-le/win-ime-con.nvim'
 
call plug#end()
 
" NERDTree SETTINGS
nmap <C-f> :NERDTreeToggle<CR>

" Airline SETTINGS
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
nmap <C-p> <Plug>AirlineSelectPrevTab
nmap <C-n> <Plug>AirlineSelectNextTab

set encoding=UTF-8
set fileencodings=UTF-8,cp932
set number
set showcmd
set splitbelow
set splitright
set noequalalways
set wildmenu
set smartindent
set noundofile
set noswapfile
set ruler                              
set cursorline                        
set expandtab                         
set tabstop=4                         
set shiftwidth=4

エラー発生

coc nvim build/index.js not found~のエラーが出る。 ファイルの不足によるものと考えられる。yarn installしろと怒られているため

エラーメッセージ

// プラグインのディレクトリでyarn install
PS> cd C:\Users\devil-code\AppData\Local\nvim\plugins\coc.nvim
PS> yarn install

これで解決できた。

プラグインのインストールは実はわざわざgit cloneしなくてもよい

vim-plugの恩恵であるPlugInstallコマンドを打てば、call plugの記述内で不足しているプラグインを適切にインストールしてくれる。

:PlugInstall

さいごに:フォントでハマったこと

nerd-fontsのフォントをインストールして使うこともできる。

>https://github.com/ryanoasis/nerd-fonts/

しかし、vim-airlineと合わない場合、アイコン部分が化けてしまう。そのため文字化けしないfontを選択する必要がある。 これを解決するのに時間がかかってしまった。もし化けてしまったらこれを疑ってみる。 せっかくかっこいい&醍醐味のアイコンが出ないと悲しい。

Powerline icon