*gruvbox.nvim.txt* For Neovim >= 0.8.0 Last change: 2025 May 13
==============================================================================
Table of Contents *gruvbox.nvim-table-of-contents*
1. Prerequisites |gruvbox.nvim-prerequisites|
2. Installing |gruvbox.nvim-installing|
- Using packer |gruvbox.nvim-installing-using-packer|
- Using lazy.nvim |gruvbox.nvim-installing-using-lazy.nvim|
- Using vim-plug |gruvbox.nvim-installing-using-vim-plug|
3. Basic Usage |gruvbox.nvim-basic-usage|
4. Configuration |gruvbox.nvim-configuration|
- Overriding |gruvbox.nvim-configuration-overriding|
>

gruvbox.nvim
<
A port of gruvbox community
theme to lua with treesitter
and |semantic highlights|
support!
==============================================================================
1. Prerequisites *gruvbox.nvim-prerequisites*
Neovim 0.8.0+
==============================================================================
2. Installing *gruvbox.nvim-installing*
USING PACKER *gruvbox.nvim-installing-using-packer*
>lua
use { "ellisonleao/gruvbox.nvim" }
<
USING LAZY.NVIM *gruvbox.nvim-installing-using-lazy.nvim*
>lua
{ "ellisonleao/gruvbox.nvim", priority = 1000 , config = true, opts = ...}
<
USING VIM-PLUG *gruvbox.nvim-installing-using-vim-plug*
>vim
Plug 'ellisonleao/gruvbox.nvim'
<
==============================================================================
3. Basic Usage *gruvbox.nvim-basic-usage*
Inside `init.vim`
>vim
set background=dark " or light if you want light mode
colorscheme gruvbox
<
Inside `init.lua`
>lua
vim.o.background = "dark" -- or "light" for light mode
vim.cmd([[colorscheme gruvbox]])
<
==============================================================================
4. Configuration *gruvbox.nvim-configuration*
Additional settings for gruvbox are:
>lua
-- Default options:
require("gruvbox").setup({
terminal_colors = true, -- add neovim terminal colors
undercurl = true,
underline = true,
bold = true,
italic = {
strings = true,
emphasis = true,
comments = true,
operators = false,
folds = true,
},
strikethrough = true,
invert_selection = false,
invert_signs = false,
invert_tabline = false,
inverse = true, -- invert background for search, diffs, statuslines and errors
contrast = "", -- can be "hard", "soft" or empty string
palette_overrides = {},
overrides = {},
dim_inactive = false,
transparent_mode = false,
})
vim.cmd("colorscheme gruvbox")
<
**VERY IMPORTANT**Make sure to call setup() **BEFORE** calling the colorscheme
command, to use your custom configs
OVERRIDING *gruvbox.nvim-configuration-overriding*
PALETTE ~
You can specify your own palette colors. For example:
>lua
require("gruvbox").setup({
palette_overrides = {
bright_green = "#990000",
}
})
vim.cmd("colorscheme gruvbox")
<
HIGHLIGHT GROUPS ~
If you don’t enjoy the current color for a specific highlight group, now you
can just override it in the setup. For example:
>lua
require("gruvbox").setup({
overrides = {
SignColumn = {bg = "#ff9900"}
}
})
vim.cmd("colorscheme gruvbox")
<
It also works with treesitter groups and lsp semantic highlight tokens
>lua
require("gruvbox").setup({
overrides = {
["@lsp.type.method"] = { bg = "#ff9900" },
["@comment.lua"] = { bg = "#000000" },
}
})
vim.cmd("colorscheme gruvbox")
<
Please note that the override values must follow the attributes from the
highlight group map, such as:
- **fg** - foreground color
- **bg** - background color
- **bold** - true or false for bold font
- **italic** - true or false for italic font
Other values can be seen in |`synIDattr`|
Generated by panvimdoc
vim:tw=78:ts=8:noet:ft=help:norl: