• 10-color-config
  • Get the Best Colorscheme

Get the Best Colorscheme

colorschemeを設定することで nvim の見た目を変更することができます。自分ですべての highlight を設定する方法もありますが、有志が公開している素晴らしいテーマをインストールして使いましょう。これらはプラグインとしてインストールすることで、簡単に設定することができます。

How to Add Plugin With init.lua

前回 のスクリプトのload_sub_dir関数は、引数の名前のディレクトリの中のinit.luaを読み取ってインストールをします。

xxx/init.lua
return {
  install = {
    'lunarvim/colorschemes'
  },
  setup = {
    'folke/tokyonight.nvim'
  }
}
~/.config/nvim/lua/
├── 00-plug-config/
└── xxx/
  ├── init.lua
  └── tokyonight.lua

それぞれの要素はpacker.nvimの use 関数への引数で、installの中にいるのはそのまま読み込まれ、setupの中にいるのはプラグインと同名のファイルをセットアップ時に読み込みます。つまり上の例だとtokyonight.luaがセットアップ時に読み込まれます。(プラグイン名の.のあとは無視される。)

My Recommended Colorscheme

以下は私がおすすめするプラグインたちです。私はその日の気分に合わせて変更できるように、NVIM_COLOR という環境変数によって変更できるような設定にしています。実際の画像はこちら

10-color-config/init.lua
local function set_colorscheme(extends)
  return function()
    vim.cmd(string.format("colorscheme %s", os.getenv("NVIM_COLOR")))
    if extends ~= nil then
      extends()
    end
  end
end
 
return {
  install = {
    {
      "christianchiarulli/nvcode-color-schemes.vim",
      cond = os.getenv("NVIM_COLOR") == "nvcode",
      config = set_colorscheme(),
    },
    {
      "ellisonleao/gruvbox.nvim",
      cond = os.getenv("NVIM_COLOR") == "gruvbox",
      config = set_colorscheme(),
    },
    {
      "Mofiqul/vscode.nvim",
      cond = os.getenv("NVIM_COLOR") == "vscode",
      config = set_colorscheme(function()
        require("vscode").setup({
          transparent = true, -- Enable transparent background
          italic_comments = true, -- Enable italic comment
        })
      end),
    },
    {
      "mhartington/oceanic-next",
      cond = os.getenv("NVIM_COLOR") == "OceanicNext",
      config = set_colorscheme(function()
        vim.g.oceanic_next_terminal_bold = 1
        vim.g.oceanic_next_terminal_italic = 1
      end),
    },
  },
}

Apply Changes and Reload Nvim with Color

これを書いて、~/.config/nvim/lua/00-plug-config/init.lua の中の load_sub_dirs("10-color-config") のコメントを取りましょう。Nvim を再起動して:PackerSync<CR>するとプラグインを読み込めます。起動するときに色も設定して起動してみましょう。

$ NVIM_COLOR=nvcode nvim

Other Recommended Colorscheme

その他にもたくさんのものがあるのでぜひいろいろ探してみてください。 基本的にこれらのプラグインの設定は簡単でそれぞれの README を読めば問題ありません。

  • EdenEast/nightfox.nvim
  • joshdick/onedark.vim
  • lunarvim/darkplus.nvim
  • ulwlu/elly.vim
  • tomasiser/vim-code-dark
  • arcticicestudio/nord-vim
  • chriskempson/vim-tomorrow-theme
  • doki-theme/doki-theme-vim
Last updated on September 19, 2022