![]() |
|||||||
![]() |
![]() |
||||||
Normal bg |
Identifier |
Normal bg |
|||||
ColorColumn |
Special |
ColorColumn |
|||||
MatchParen |
Statement |
MatchParen |
|||||
Comment |
PreProc |
Comment |
|||||
Normal fg |
Constant |
Normal fg |
|||||
Cursor |
Type |
Cursor |
|||||
because because because because primary colors of the standard additive model (red, green, blue) are thus assigned to "regular" elements, the cool-toned, cyanotype experience of snow has a warm-toned, sepia complement in rusticated |
If you don’t have a preferred plugin management method, consider vim-plug, which can be installed (on *nix systems) with:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Having installed vim-plug, snow can be installed by adding the following to the top of your vimrc...
call plug#begin('~/.vim/plugged')
Plug 'nightsense/snow'
call plug#end()
...then restarting vim, followed by running :PlugUpdate
(at the vim command line).
For a snow day, add the following to vimrc:
set background=light
colorscheme snow
For a snowy evening:
set background=dark
colorscheme snow
To set the background automatically based on the time at which vim is launched:
if strftime('%H') >= 7 && strftime('%H') < 19
set background=light
else
set background=dark
endif
colorscheme snow
...which activates the light version of snow during the day (defined here as 7AM-7PM), dark version at night.
Be sure to set
colorscheme
afterbackground
, otherwise some theme colors may not be applied.
snow comes with themes for airline and lightline, which can be activated with the following vimrc code:
airline | lightline | |
light | let g:airline_theme='snow_light' |
let g:lightline = { 'colorscheme': 'snow_light' } |
dark | let g:airline_theme='snow_dark' |
let g:lightline = { 'colorscheme': 'snow_dark' } |
Status line themes can be added to the time-based snippet above:
if strftime('%H') >= 7 && strftime('%H') < 19
set background=light
let g:lightline = { 'colorscheme': 'snow_light' }
else
set background=dark
let g:lightline = { 'colorscheme': 'snow_dark' }
endif
colorscheme snow
Terminals/multiplexers with true-color support can display the exact colors of the snow theme.
In most cases, the only vimrc setting you need is:
set termguicolors
In some cases you'll also need (see :h xterm-true-color
for explanation):
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
If termguicolors
is not set, terminal vim will fall back to a rough approximation of snow, drawing from the terminal emulator's 256-color palette (if present).
The fallback version of snow defines colors using numbers in the range 0-255 (as opposed to 6-character hex codes, whose range of 224 values is known as "true color"). Terminal emulators with 256-color support understand this encoding, though they vary in the exact color associated with each number. The closest thing to a standard 256-color *nix palette is that used by xterm, the default X Windows terminal emulator.
To set mode-specific cursor shapes in terminal vim, see the Vim Tips Wiki.
For instance, to set cursor shapes in vte-compatible terminals, you could add to vimrc:
let &t_SI = "\<Esc>[6 q"
let &t_SR = "\<Esc>[4 q"
let &t_EI = "\<Esc>[2 q"
...which sets the cursor to a vertical line for insert mode, underline for replace mode, and block for normal mode.
Many terminal emulators can be themed by sourcing the color-setting shell scripts included with snow. The path to these scripts will depend on your plugin management method.
For instance, if you use vim-plug and want to apply the dark snow theme to your bash or zsh shell, add the following to ~/.bashrc
or ~/.zshrc
:
[ -n "$PS1" ] && sh ~/.vim/plugged/snow/shell/snow_dark.sh
Or for the fish shell, add to ~/.config/fish/config.fish
:
if status --is-interactive
sh ~/.vim/plugged/snow/shell/snow_dark.sh
end
If you use vundle, replace plugged
in the above paths with bundle
.
Replace dark
with light
for the light theme.
Again, the script path will depend on your plugin management method.
For the dark theme in a vim-plug setup, add to ~/.config/fish/config.fish
:
source ~/.vim/plugged/snow/shell/snow_dark.fish