/base16-vim

base16-vim refreshes and commits new themes weekly automatically and has a documented build process.

Primary LanguageVim ScriptOtherNOASSERTION

Base16 Vim

Matrix Chat

Supports console Vim, graphical Vim and Neovim.

Over 200 themes plus light/dark variations are available. Here are some of our favorites:

The classic-dark theme:

base16-vim classic-dark

The horizon-dark theme:

base16-vim horizon-dark

The onedark theme:

base16-vim onedark

Terminal Themes

For terminal Vim (non-gui) please ensure you are using a base16 terminal theme. Have a look at the list of official and unofficial themes for your terminal of choice.

Installation

Add colorscheme base16-default-dark to your ~/.vimrc.

Vundle

Add the following to your ~/.vimrc file and run PluginInstall in Vim.

Plugin 'tinted-theming/base16-vim'

vim-plug

Add the following to your ~/.vimrc file and run PlugInstall in Vim.

Plug 'tinted-theming/base16-vim'

Pathogen

cd ~/.vim/bundle
git clone https://github.com/tinted-theming/base16-vim.git

Manual

cd ~/.vim/colors
git clone git://github.com/tinted-theming/base16-vim.git base16
cp base16/colors/*.vim .

Lazy.nvim

{
    "tinted-theming/base16-vim",
}

Manual neovim

cd ~/.config/nvim/colors
git clone git://github.com/tinted-theming/base16-vim.git base16
cp base16/colors/*.vim .

256 colorspace

If using a Base16 terminal theme designed to keep the 16 ANSI colors intact (a "256" variation) and have sucessfully modified your 256 colorspace with base16-shell.This will cause vim to access the colours in the modified 256 colorspace. Please do not enable this simply because you have a 256 color terminal as this will cause colors to be displayed incorrectly.

you'll need to add the following to your ~/.vimrc before the colorsheme declaration.

Vim

let base16_colorspace=256 " Access colors present in 256 colorspace

Neovim (lua)

-- Access colors present in 256 colorspace
vim.g.base16_colorspace = 256

Background transparency

If you're using a terminal with an opacity of < 1, you'll notice that base16-vim doesn't respect this transparency by default. You can enable transparent backgrounds with base16-vim by adding the following settings to your vim/neovim setup.

Vim

Add the following variable to your ~/.vimrc before your colorscheme declaration.

let base16_background_transparent=1 " Make vim background transparent to work alongside transparent terminal backgrounds

Neovim (lua)

Add the following to your lua setup before your colorscheme declaration.

-- Make vim background transparent to work alongside transparent terminal backgrounds
vim.g.base16_background_transparent = 1

Troubleshooting

There is a script to help troubleshoot colour issues called colortest available in the Base16 Shell repository.

If you are using a ISO-8613-3 compatible terminal (vim docs, neovim docs), and you see a green or blue line, try to enable termguicolors:

set termguicolors

Green line numbers

green line numbers screenshot

If your Vim looks like the above image you are using a 256 terminal theme without setting let base16_colorspace=256 in your ~/.vimrc. Either set let base16_colorspace=256 in your ~/.vimrc or use a non 256 terminal theme.

Blue line numbers

blue line numbers screenshot

If your Vim looks like the above image you are setting let base16_colorspace=256 in your ~/.vimrc but either not running Base16 Shell or Base16 Shell is not working for your terminal. Either ensure Base16 Shell is working by running the colortest available in the Base16 Shell repository or not setting let base16_colorspace=256 in your ~/.vimrc.

Customization

If you want to do some local customization, you can add something like this to your ~/.vimrc:

function! s:base16_customize() abort
  call Base16hi("MatchParen", g:base16_gui05, g:base16_gui03, g:base16_cterm05, g:base16_cterm03, "bold,italic", "")
endfunction

augroup on_change_colorschema
  autocmd!
  autocmd ColorScheme * call s:base16_customize()
augroup END

Contributing

See CONTRIBUTING.md, which contains building and contributing instructions.