koturnの日記

転職したい社会人1年生の技術系日記

Windowsでneovimを使う(改訂版1)

はじめに

前回の記事(約1年前1)Windowsでneovimを使う方法について書いた. しかし,約1年も経過すれば,色々と変化はあり,前回の記事内容そのままというわけにはいかない.

Windows neovim」でググると,僕の記事が一番上に出てくるというのもあり,新しい記事を書くべきだと思い立ったわけだ. (プラグイン制作にあたり,Vimのjobとneovimのjobについて調査していたのもきっかけ)

ダウンロード

公式Wiki 公式でneovim本体のバイナリとQtで実装されたフロントエンドのバイナリが配布されているので,それらをダウンロードしてくる.

本体

公式のneovim本体のバイナリは,以下のAppVeyorの成果物へのリンクから取得できる(Wikiのリンクそのまま).

フロントエンド

公式Wikiにある通り,equalsraf/neovim-qt にてバイナリが配布されているので取ってくる.

ファイル配置

システムのランタイム

上記ダウンロード手順により落とした Neovim.zip と neovim-qt.zip を展開し,どちらの中にもある share/ を以下のディレクトリ下に配置する(無ければ作成). つまり,併合して配置する.

  • C:/Program Files (x86)/nvim/

すなわち,nvimのデフォルトのシステムファイルは,

  • C:/Program Files (x86)/nvim/share/nvim/runtime/

である. このディレクトリに置きたく無い場合は,環境変数 $VIMRUNTIME を書き換えろという話らしい.

最後に,

C:/Program Files (x86)/nvim/share/nvim/runtime/share/nvim-qt/runtime/

C:/Program Files (x86)/nvim/share/nvim/runtime/share/nvim/runtime/

に併合する. この操作により, nvim_gui_shim.vim が起動時に読み込まれるようになり,フォント変更やフルスクリーン切り替えなどのコマンドを利用することが可能となる. 詳細は後述する.

バイナリ

Neovim.zip と neovim-qt.zip を展開した中にある bin/ を併合し,適当な位置に配置するとよい. 公式では C:/Program Files (x86)/nvim/bin としてある.

なお, Neovim.zip と neovim-qt.zip のどちらにも libwinpthread-1.dll が含まれるが,サイズの大きい neovim-qt.zip のものをとりあえず使っておけばよい.

設定

設定ファイル

設定ファイルの位置は XDG directory specification に従う環境変数 %XDG_CONFIG_HOME% が定義されている場合, %XDG_CONFIG_HOME%\init.vim が読み込まれるが,定義されていない場合, %USERPROFILE%\AppData\Local\nvim\init.vim が読み込まれる.

通常の ~/_vimrc~/.vimrc) と ~/vimfiles を利用したい場合,シンボリックリンクを作成するとよい. (%USERPROFILE%Linuxでいう $HOMEWindowsでもHOME環境変数を定義してもよい) 以下の例では, %XDG_CONFIG_HOME% を定義しているものとする.

> mklink /D %XDG_CONFIG_HOME%\nvim %USERPROFILE%\vimfiles\
> mklink %USERPROFILE%\vimfiles\init.vim %USERPROFILE%\_vimrc

なお,シンボリックリンクの作成には管理者権限が必要となるので,気をつけること.

GUI設定

neovim-qt特有の設定は %XDG_CONFIG_HOME%\ginit.vim に書く. 特に必要になると思われるフォント設定の例は以下の通り. これは gvim における set guifont=Consolas:h9 に相当する設定である.

Guifont Consolas:h9

ただし,フォント(特に小さいサイズにした場合に対して)によっては以下のようなワーニングが出ることがある.

Warning: Font "Consolas" reports bad fixed pitch metrics

これを無視して設定したい場合, Guifont コマンドに bang を与えるとよい.

Guifont! Consolas:h9

また,起動時にフルスクリーンにしたい場合は以下の通り.

" 引数が1でフルスクリーン,0でフルスクリーン解除
call GuiWindowFullscreen(1)

起動時のWindowサイズを調整したい場合,以下のように nvim-qt.exe の引数に -qwindowgeometry オプションを指定する.

> nvim-qt.exe -qwindowgeometry 800x600

nyaovim

日本人のVimmerとして有名なrhysdさんがelectronにて作成したneovimのフロントエンドがある.

これを利用してもよい. nyaovimのインストールは以下の通り.

> npm install -g nyaovim

あとはneovim本体のバイナリにパスが通っている状態で以下のコマンドを実行するとよい.

> nyaovim

雑感

依然として,公式配布のバイナリでは,utf-8以外の文字コードを扱うことができない. この記事によると,自前ビルドで頑張れば,utf-8以外の文字コードを扱うことも可能になりそうだ. また,前回の記事で,新規ファイルの作成ができない,と書いたが,その問題は解消されたようだ.

まとめ

公式配布のneovimのバイナリをWIndosで利用する手順を示した. 1年前と比較すると,色々と手順に変化がある.