はじめに
前回の記事(約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でいう $HOME
. Windowsでも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年前と比較すると,色々と手順に変化がある.