srcery-colors / Srcery Vim
Projects that are alternatives of or similar to Srcery Vim
Color scheme with clearly defined contrasting colors and a slightly earthy tone.
Requirements
GUI
You don’t need to do anything for this colorscheme to work in GVim or MacVim.
TUI
To use Srcery in the terminal you need to change your terminal emulator’s so-called “ASCII” colors to the ones in the table below. There's a list of terminal configurations in the srcery-terminal repository.
Additionally Srcery uses some xterm 256 colors to pad out the color selection, no extra configuration needed.
Installation
Manually
Put srcery.vim
in ~/.vim/colors/
(on unix-like systems) or %userprofile%\vimfiles\colors\
(on Windows).
Vim 8
Vim 8 has native support for loading plugins. All you need to do to is to clone
this repository into ~/.vim/plug/default/opt
.
git clone https://github.com/srcery-colors/srcery-vim ~/.vim/plug/default/opt
The same works for NeoVim, but you have to clone it into a path where NeoVim can find it.
git clone https://github.com/srcery-colors/srcery-vim ~/.config/nvim/plug/default/opt
dein.vim
call dein#add('srcery-colors/srcery-vim')
vim-pathogen
cd ~/.vim/bundle
git clone https://github.com/srcery-colors/srcery-vim
vim-plug
Plug 'srcery-colors/srcery-vim'
Configuration
Srcery includes a few toggles due to discrepancies in the various setups possible.
To change any of these you'd put something like this in your .vimrc
let g:srcery_italic = 1
Make sure that you set these variables before assigning colorscheme
.
g:srcery_bold
Enables bold text. default: 1
g:srcery_italic
Enables italic text. default: gui 1, term 0
g:srcery_transparent_background
Removes the background color in terminal. This is a bit of an experimental option, and it cause issues in certain terminals. default: 0
g:srcery_underline
Enables underlined text. default: 1
g:srcery_undercurl
Enables undercurled text. default: 1
g:srcery_inverse
Enables inverse colors. default: 1
g:srcery_inverse_matches
Enables inverse search matches. default: 0
g:srcery_inverse_match_paren
When enabled will inverse matching delimiters.
Works best with Rainbow parenthesis
default: 0
g:srcery_dim_lisp_paren
Dims lisp dialects delimiters to a fairly dark gray (xgray5 specifically)
default: 0
g:srcery_guisp_fallback
Sets up alternate highlighting for colored underline/undercurl. Some environments are unable to color underline, so this setting will set either the background or foreground to whatever color the underline is supposed to be.
This comes in handy if colored underline doesn't work, or underline is disabled entirely.
default: 'NONE'
possible Values: 'fg', 'bg'
Usage
:color srcery
If you like what you see and decide to make srcery your default colorscheme, add the relevant line to your vimrc:
colorscheme srcery
Screenshots
Typeface used in screenshots is Iosevka
Plugin support
Lightline
Lightline colorscheme. To use it, include 'srcery' value in lightline configuration, like so:
let g:lightline = {
\ 'colorscheme': 'srcery',
\ }
Airline
Thanks to MindTooth, Srcery now includes an Airline theme.
Other
These don't require any additional configuration.
Plugin support is still a work in progress and more will come, if there is anything missing that you'd like to add please open an issue and let me know.
Attribution
This project started as essentially a palette swap of Gruvbox and all credit goes to the maintainers of that fantastic color scheme. I wanted something a bit sharper, but I loved the syntax color choices of Gruvbox. I also tried to make the theme as simple to use as possible, which was inspired by Flattened. Other themes that influenced Srcery:
Troubleshooting
Colors don't look right
Ensure that 256 colors are enabled in vim by setting this option before setting the colorscheme.
set t_Co=256
24-bit color, tmux and Neovim
If you want to use GUI colors in terminal make sure that tmux pass through 24-bit color codes. For example, if you use Termite add it to the terminal overrides setting:
set -ga terminal-overrides ",xterm-termite:Tc"
For other terminals, replace xterm-termite
with the relevant
terminal type. (stored in $TERM
).
Extra
Emacs
Check out srcery-emacs