NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.
Download with your favorite package manager.
use "rebelot/kanagawa.nvim"
- neovim >= 0.6
- truecolor terminal support
- undercurl terminal support (optional)
As simple as writing (pasting)
colorscheme kanagawa
vim.cmd("colorscheme kanagawa")
- Nvim cmp
- TreeSitter
- LSP Diagnostics
- Git Signs
- Telescope
- NvimTree
- Indent Blankline
- Dashboard
- Lualine
- FloaTerm
And many others should "just work"!
There is no need to call setup if you are ok with the defaults.
-- Default options:
require('kanagawa').setup({
undercurl = true, -- enable undercurls
commentStyle = "italic",
functionStyle = "NONE",
keywordStyle = "italic",
statementStyle = "bold",
typeStyle = "NONE",
variablebuiltinStyle = "italic",
specialReturn = true, -- special highlight for the return keyword
specialException = true, -- special highlight for exception handling keywords
transparent = false, -- do not set background color
dimInactive = false, -- dim inactive window `:h hl-NormalNC`
colors = {},
overrides = {},
})
-- setup must be called before loading
vim.cmd("colorscheme kanagawa")
You can change the colors of existing hl-groups as well as creating new ones. Supported keywords: fg
, bg
, style
, guisp
, link
.
You can define your own colors or use the theme colors (see example below). All the palette colors can be found here.
Example:
local default_colors = require("kanagawa.colors").setup()
-- this will affect all the hl-groups where the redefined colors are used
local my_colors = {
-- use the palette color name...
sumiInk1 = "black",
fujiWhite = "#FFFFFF",
-- ...or the theme name
bg = "#272727",
-- you can also define new colors if you want
-- this will be accessible from require("kanagawa.colors").setup()
-- AFTER calling require("kanagawa").setup(config)
new_color = "teal"
}
local overrides = {
-- create a new hl-group using default palette colors and/or new ones
MyHlGroup1 = { fg = default_colors.waveRed, bg = "#AAAAAA", style="underline,bold", guisp="blue" },
-- override existing hl-groups, the new keywords are merged with existing ones
VertSplit = { fg = default_colors.bg_dark, bg = "NONE" },
TSError = { link = "Error" },
TSKeywordOperator = { style = 'bold'},
StatusLine = { fg = my_colors.new_color }
}
require'kanagawa'.setup({ overrides = overrides, colors = my_colors })
vim.cmd("colorscheme kanagawa")
- alacritty
- foot
- iTerm
- kitty
- pywal
- wezterm
- 🎉 Bonus! You win a tiny python script🐍 to extract color palettes 🎨 from any image! 🥳
- kanagawa.vim - unaffiliated vimscript port of kanagawa.nvim