SkillAgentSearch skills...

Snow

a blue-tinted winter vimscape (vim theme/colorscheme)

Install / Use

/learn @Mitgorakh/Snow
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<table><tbody align='center'> <tr> <td colspan='8'><h1>snow</h1> <img src="https://github.com/nightsense/snow/raw/master/images/header.jpg" /> <h4>a blue-tinted winter vimscape</h4> </td> </tr> <tr></tr> <tr> <td colspan='4' width='50%'> <br> <img alt="screenshot of the snow vim theme, light version" src="https://github.com/nightsense/snow/raw/master/images/screenshot-light.png" width='422' /> <br><br> </td> <td colspan='4' width='50%'> <br> <img alt="screenshot of the snow vim theme, dark version" src="https://github.com/nightsense/snow/raw/master/images/screenshot-dark.png" width='422' /> <br><br> </td> </tr> <tr></tr> <tr> <td width='202'><h5>background</h5><h6>snowy noon</h6></td> <td><img src='http://www.colorhexa.com/f1f3f7.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/a6569c.png' height='24' width='39'></td> <td colspan='2'><h5>name</h5><h6>icewine red-purple</h6></td> <td><img src='http://www.colorhexa.com/b089aa.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/262e3a.png' height='24' width='39'></td> <td width='202'><h5>background</h5><h6>snowy midnight</h6></td> </tr> <tr></tr> <tr> <td><h5>highlight</h5><h6>snowy day</h6></td> <td><img src='http://www.colorhexa.com/dde3ed.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/bc4b48.png' height='24' width='39'></td> <td width='202' colspan='2'><h5>type</h5><h6>poinsettia red</h6></td> <td><img src='http://www.colorhexa.com/bf8079.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/2c3848.png' height='24' width='39'></td> <td><h5>highlight</h5><h6>snowy night</h6></td> </tr> <tr></tr> <tr> <td><h5>comment</h5><h6>snowy dusk</h6></td> <td><img src='http://www.colorhexa.com/73839a.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/907015.png' height='24' width='39'></td> <td colspan='2'><h5>special</h5><h6>lichen gold</h6></td> <td><img src='http://www.colorhexa.com/ac976c.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/73839a.png' height='24' width='39'></td> <td><h5>comment</h5><h6>snowy dusk</h6></td> </tr> <tr></tr> <tr> <td><h5>text</h5><h6>snowy twilight</h6></td> <td><img src='http://www.colorhexa.com/4e5d73.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/438138.png' height='24' width='39'></td> <td colspan='2'><h5>statement</h5><h6>conifer green</h6></td> <td><img src='http://www.colorhexa.com/829d7a.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/9dadc5.png' height='24' width='39'></td> <td><h5>text</h5><h6>snowy evening</h6></td> </tr> <tr></tr> <tr> <td><h5>cursor</h5><h6>snowy night</h6></td> <td><img src='http://www.colorhexa.com/2c3848.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/008685.png' height='24' width='39'></td> <td colspan='2'><h5>meta-statement</h5><h6>iceberg green-blue</h6></td> <td><img src='http://www.colorhexa.com/699f9e.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/dde3ed.png' height='24' width='39'></td> <td><h5>cursor</h5><h6>snowy day</h6></td> </tr> <tr></tr> <tr> <td><h5>search</h5><h6>light lichen</h6></td> <td><img src='http://www.colorhexa.com/e5bc5a.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/0779c5.png' height='24' width='39'></td> <td colspan='2'><h5>constant</h5><h6>frost blue</h6></td> <td><img src='http://www.colorhexa.com/7c98bf.png' height='24' width='39'></td> <td><img src='http://www.colorhexa.com/95638e.png' height='24' width='39'></td> <td><h5>search</h5><h6>dark icewine</h6></td> </tr> <tr></tr> <td colspan='8'> <br>

because <img height="16" src='https://github.com/nightsense/snow/raw/master/images/red.png' /> red is the color of life, reddish text is for...

    <img src="http://www.colorhexa.com/a6569c.png" height='12' width='12'> names, which give life <img height="9" src='https://github.com/nightsense/snow/raw/master/images/name.png' /> to abstractions (like variables and functions)

    <img src="http://www.colorhexa.com/bc4b48.png" height='12' width='12'> types ("meta-names" <img height="15" src='https://github.com/nightsense/snow/raw/master/images/type.png' />), such as variable type (int, char...) or storage class (static, register...)

<br>

because <img height="16" src='https://github.com/nightsense/snow/raw/master/images/gold.png' /> gold is a special color, gold text is for...

    <img src="http://www.colorhexa.com/907015.png" height='12' width='12'> specials (elements that unlock <img height="16" src='https://github.com/nightsense/snow/raw/master/images/special.png' /> special features), such as delimiters and debug statements

<br>

because <img height="15" src='https://github.com/nightsense/snow/raw/master/images/green.png' /> green is the color of proceeding with action, greenish text is for...

    <img src="http://www.colorhexa.com/438138.png" height='12' width='12'> statements (the magic <img height="11" src='https://github.com/nightsense/snow/raw/master/images/statement.png' /> "action words" of code), such as conditions (if, then...) or loops (for, do...)

    <img src="http://www.colorhexa.com/008685.png" height='12' width='12'> meta-statements ("meta-actions", or "meta-magic" <img height="16" src='https://github.com/nightsense/snow/raw/master/images/meta-statement.png' />), such as macros and "include module" statements

<br>

because <img height="14" src='https://github.com/nightsense/snow/raw/master/images/blue.png' /> blue is the calm color of sea and sky, evoking enduring constancy, blue text is for...

    <img src="http://www.colorhexa.com/0779c5.png" height='12' width='12'> constants (values that are fixed <img height="22" src='https://github.com/nightsense/snow/raw/master/images/constant.png' /> in place), such as booleans, integers, and strings

</td> </tbody></table>

installation

If you don’t have a preferred plugin helper, consider trying vim-plug, which can be installed (on Unix-like 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).

activation

For a snow day, add the following to vimrc:

colorscheme snow
set background=light

For a snowy evening:

colorscheme snow
set background=dark

To set the background automatically based on the time at which vim is launched:

colorscheme snow
if strftime('%H') >= 7 && strftime('%H') < 19
  set background=light
else
  set background=dark
endif

...which activates the light version of snow during the day (defined here as 7AM-7PM), dark version at night.

The night-and-day plugin can switch themes and/or backgrounds automatically, using absolute or sun-relative time.

status line themes

snow comes with themes for airline and lightline, which can be activated with the following vimrc code:

<table><tbody align='center'> <tr> <td width='88'></td> <td width='340'><strong>airline</strong></td> <td width='470'><strong>lightline</strong></td> </tr> <tr> <td><strong>light</strong></td> <td><code>let g:airline_theme='snow_light'</code></td> <td><code>let g:lightline = { 'colorscheme': 'snow_light' }</code></td> </tr> <tr> <td><strong>dark</strong></td> <td><code>let g:airline_theme='snow_dark'</code></td> <td><code>let g:lightline = { 'colorscheme': 'snow_dark' }</code></td> </tr> </tbody></table>

Status line themes can be added to the time-based snippet above:

colorscheme snow
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

terminal vim

colors

Terminals/multiplexers with true-color support (see list) can display the exact snow colors.

In most cases, the only vimrc setting you need is:

set termguicolors

In some cases you'll also need:

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 an xterm-color approximation of snow.

cursor shape

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.


released under the MIT license
generated with Colortemplate
snowflake macrophoto by Olga & Alexey (CC BY-NC 2.0)
View on GitHub
GitHub Stars9
CategoryDevelopment
Updated3mo ago
Forks27

Languages

Vim script

Security Score

67/100

Audited on Dec 25, 2025

No findings