6.4 KiB
Zenflesh, Zenbones
Zenbones is a vim/neovim colorscheme designed to highlight code using contrasts and font variations. Colors are tasked only for other roles such as diagnostics, diffs, search matches.
A rock garden in Ryōan-ji.
Requirements
Primarily built for neovim but it works pretty well with vim. However here are some requirements to take full advantage of the colorscheme:
- 24-bit RGB colors (neovim or vim compiled with +termguicolors) i.e.
set termguicolors - Font with bold and italic
- Terminal or GUI with bold and italic support
Installation
Example installation using packer:
use "mcchrish/zenbones.nvim"
-- Optionally install Lush. Useful if you want to extend the theme
-- e.g. create a statusline plugin theme using zenbones colors
use "rktjmp/lush.nvim"
-- See Advanced Usage section for more details
Usage
Just apply the colorscheme as usual:
" light
colorscheme zenbones
" dark
colorscheme zenflesh
If you want to make use of the lua version:
" Requires `neovim` and `rktjmp/lush.nvim` installed
colorscheme zenbones-lush
colorscheme zenflesh-lush
It works pretty much the same as the first one but pretty handy when extending or customizing the colors to your likings.
Configuration
Configuration is only available for zenbones-lush and zenflesh-lush.
g:zenbones_lightness
Change background colors lightness.
| 'bright' | (unset) | 'dim' |
|---|---|---|
![]() |
![]() |
![]() |
g:zenflesh_darkness
Change background colors darkness.
| 'stark' | (unset) | 'warm' |
|---|---|---|
![]() |
![]() |
![]() |
g:zenbones_solid_vert_split
g:zenflesh_solid_vert_split
Set to v:true to make vertical split more visible with a dimmer background
highlight.
g:zenbones_dim_noncurrent_window
g:zenflesh_dim_noncurrent_window
Set to v:true to make non-current window background dimmer than Normal.
g:zenbones_italic_comments
g:zenflesh_italic_comments
Set to v:false to make comments not italicize.
Advanced Usage
Zenbones is pretty extensible thanks to Lush. You can easily retrieve the colors in lua:
local theme = require "zenbones" -- or zenflesh
local palette = require "zenbones.palette"
print(theme.StatusLine.bg.hex)
print(palette.blossom.darken(20).hex)
See also Lush's documentation for more options.
Other plugins support
Aside from LSP and basic Tree-sitter support, here are some plugins that are currently supported.
- Git Signs
- Git Gutter
- Indent Blankline
- Telescope
- Sneak
- Lightspeed
- Hop
- Lualine
- Lightline
- BarBar
- CoC
- Neogit
- WhichKey
- Trouble
Other implementations
It's also possible to generate color configuration files using a template, this one for Kitty for example. Please feel free to submit a PR if you want to add some more.
Inspirations
Zenbones is heavily inspired by Verdandi and vim-yin-yang. The name came from a book called Zen Flesh, Zen Bones.
There are more similar colorschemes with few colors from this collection.



