Neovimの設定を1から
なんとなく興味本位でNeovimを使ってたけど、一番の違いを理解してなかった。
init.vimからinit.luaになってluaで書くように変わってたのね。
いろいろ見ながらやってみたけど、どれもがvimスクリプトからの移行ばかりだったので、1からluaで作成する場合にどうするのか自分のためのメモとして残しておこう。
対象は
の組み合わせ。
Neovimのインストール
Neovimのインストールはwingetを使用。
winget ツールを使用したアプリケーションのインストールと管理 | Microsoft Docs
wingetは11にも10にもインストールされている。ないならMicrosoftStoreから入れればいい。
Microsoft Apps このアプリインストーラーってのがwingetのこと。
wingetを使うのはPowerShellから。
winget search neovim
と入力すると。
名前 ID バージョン ソース
---------------------------------------
Neovim Neovim.Neovim 0.7.0 winget
と表示されるので
winget install Neovim.Neovim
でインストールは完了
WIngetを使用した場合にPATHがおかしかった
c:¥Program Files¥neovim\bin と表記されたせいでうまくPATHが通ってない。(¥は全角表記)
ユーザーのPathに正しくいれても上記のが優先されておかしい状態に。
しょうがないので、scoopを使う
#scoop bucket add versions
#scoop install neovim-nightly goneovim-nightly
でインストールを実施
環境設定
NeovimはmacやLinuxで使用するとXDG Base Directoryを利用して設定ファイル関係がまとめられるのに、Windowsでは~/AppData/Local/nvim/ と決められてる。
ここに設定ファイルとかいろいろ置けばいいんだろうけど、設定ファイルは~/.configにまとめたいので環境変数を設定する。
設定するのは4つ
- neovimのpath。なぜかwingetでinstallしてもpathが追加されてなかったので、"C:\Program Files\Neovim\bin"をpathに追加
- XDG_CONFIG_HOME ここに設定ファイルを置く ~/.config/nvim
- XDG_DATA_HOIME プラグイン関係はここ ~/Appdata/Local/nvim-data
プラグインがこのフォルダを指定するのが多いから、ここにしておく - XDG_CACHE_HOME 一時ファイルの置き場はここ ~/AppData/Local/Temp/neovim
$env:HOME=$env:HOMEDRIVE + $env:HOMEPATH
$env:XDG_CONFIG_HOME="$env:HOME\.config"
New-Item $env:XDG_CONFIG_HOME -ItemType Directory$env:XDG_CACHE_HOME="$env:TEMP\neovim\"
New-Item $env:XDG_CACHE_HOME -ItemType Directory$env:XDG_DATA_HOME="$env:\LOCALAPPDATA"
New-Item $env:XDG_DATA_HOME -ItemType Directory#環境変数を登録
[Environment]::SetEnvironmentVariable('XDG_CONFIG_HOME',$Env:XDG_CONFIG_HOME,'User')
[Environment]::SetEnvironmentVariable('XDG_CACHE_HOME',$Env:XDG_CACHE_HOME,'User')
[Environment]::SetEnvironmentVariable('XDG_DATA_HOME',$Env:XDG_DATA_HOME,'User')
GUIのインストール
前回の記事にはまだ追記してなかったけど、いいのを見つけた
見た目は文句なし!あとはwindowsでもXDG_CONFIG_HOMEを見てほしい。
サイズが44MBあるけど、バイナリ1個とヘルプファイルのみ。neovimへのpathが通っていれば、ダブルクリックするだけでOK
これは、透過とボーダーレスの設定をしたのみ。日本語入力も問題がない。
これでNeovimをWindowsで使う準備ができた。
次はinit.luaを1から設定した内容について記載。