A port of the Material color scheme for Vim/Neovim.
Using vim-plug (modify this to work with your Vim package manager of choice):
Plug 'kaicataldo/material.vim', { 'branch': 'main' }
To enable this color scheme, add the following to your Vim (~/.vimrc
) or Neovim (~/.config/nvim/init.vim
) configuration:
colorscheme material
True colors are a requirement for this color scheme to work properly. To enable this, place the following in your ~/.vimrc
or ~/.config/nvim/init.vim
file:
" For Neovim 0.1.3 and 0.1.4 - https://github.com/neovim/neovim/pull/2198
if (has('nvim'))
let $NVIM_TUI_ENABLE_TRUE_COLOR = 1
endif
" For Neovim > 0.1.5 and Vim > patch 7.4.1799 - https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
" Based on Vim patch 7.4.1770 (`guicolors` option) - https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
" https://github.com/neovim/neovim/wiki/Following-HEAD#20160511
if (has('termguicolors'))
set termguicolors
endif
There are five color schemes - default
, palenight
, ocean
, lighter
, and darker
.
Aditionally, Material's legacy edition (Community Material), is supported for each color scheme - default-community
, palenight-community
, ocean-community
, lighter-community
, and darker-community
.
This amounts to a total of ten theme options (defaulting to default
), that can be configured as follows:
let g:material_theme_style = 'default' | 'palenight' | 'ocean' | 'lighter' | 'darker' | 'default-community' | 'palenight-community' | 'ocean-community' | 'lighter-community' | 'darker-community'
To enable italics (0
or off by default), please add the following to your configuration file:
let g:material_terminal_italics = 1
let g:material_terminal_italics = 1
let g:material_theme_style = 'lighter'
colorscheme material
The vim-javascript plugin, which provides fine-grained JS syntax highlighting features, is highly recommended for proper JavaScript highlighting. The theme will still work without the plugin, however JS highlighting will be minimal.
To use the theme, install lightline.vim with your Vim package manager of choice and then add the following to your configuration file:
let g:lightline = { 'colorscheme': 'material_vim' }
The theme will change to match the theme option specified.
Note: The included theme is called material_vim
because lightline.vim comes with its own version of a material theme (which does not change based on the theme version selected).
To use the included vim-airline theme:
let g:airline_theme = 'material'
To use the included lualine.nvim theme:
require('lualine').setup({
options = {
theme = require('material.lualine'),
},
})
Corresponding terminal color schemes are included in this repo. You can find them here.
The default version of vim
on macOS
doesn't support termguicolors
. In order for the colorscheme to work properly you need to apply the terminal colors from above. Or you can install the latest version from brew
.
Italicized text sometimes does not rendering correctly in iTerm2. Before making an issue, if you use iTerm2, please see if this addition to your .vimrc fixes the issue for you:
" Fix italics in Vim
if !has('nvim')
let &t_ZH="\e[3m"
let &t_ZR="\e[23m"
endif
Thanks to @equinusocio for the original Material theme as well as palenight.vim and quantum, both of which were of great help when I first started this project.