ITエンジニアによるITエンジニアのためのブログ

Neovimカラースキーム

カラースキームとは配色のことで、キーワードや文字列、括弧など、様々なコード内の要素や背景色に対し異なった配色を適用することを指します。このおかげで、コードの可読性が上がったり、目が疲れにくい組み合わせを選んだりすることができます。

Neovimではカラースキームを好みの色にカスタマイズすることが出来ます。

termguicolorsの有効化

termguicolorsという設定を有効化すると、ターミナルで使われている色も使えるようになり(24bit RGB)、デフォルトのnvimよりも豊富な色のバリエーションがカラースキームで適用されますので、ぜひ設定しておきましょう。

~/.config/nvim/lua/user/options.lua

termguicolors = true

カラースキームの変更

まずはカラースキームの変更とはどのようなものかを実感するために、コマンドラインモードで以下のように入力してみましょう。

:colorscheme industry

これでindustryというカラースキームに配色が変更されたのが確認出来るはずです。

但し、上記の方法だけだと、Neovimを終了したら設定もリセットされますので、次回以降にNeovimを起動するときはデフォルトのカラースキームに戻ってしまいます。

そこで、~/.config/nvim/init.luaにて以下のコマンドを設定することで、常に指定のカラースキームが適用されるようにします。

vim.cmd "colorscheme industry"

カラースキーム・プラグイン

もしNeovimがデフォルトで提供しているどのカラースキームも好みに合わない場合は、カラースキームのプラグインをインストールすることが出来ます。githubでは様々なカラースキームプラグインが提供されていますので、好きなプラグインのレポジトリー名を指定すればインストールされます。

例えばPackerの場合、~/.config/nvim/lua/user/plugins.luaにて以下のように記述し保存するとインストールされます。

return packer.startup(function(use)

  use "folke/tokyonight.nvim"

end)

そして、~/.config/nvim/init.luaにてインストールしたカラースキームを指定すればそのプライグインが使えるようになります。

vim.cmd "colorscheme tokyonight"

ただ、上記の方法だと万が一カラースキームがインストールされていない場合はinit.lua全体がエラーになってしまいます。

そこで、luaのprotected callを使ってエラー回避をします。

~/.config/nvim/lua/user/colorscheme.lua

local colorscheme = "tokyonight"

local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
if not status_ok then
vim.notify("colorscheme " .. colorscheme .. " not found!")
return
end

そして、~/.config/nvim/init.luaにて上記ファイルを読み込みます。

require "user.colorscheme"

これで、もしcolorchemeコマンドがエラーになった場合はエラーメッセージと共にreturnされ、エラーになることなくneovimを起動出来ます。

カラースキームの変更は簡単にできますので、ぜひ色々なカラースキームを試してみて、自分好みのものを見つけてみてください。