https://github.com/gerardbm/vim-atomic
Atomic color scheme for Vim, Neovim and Gvim
https://github.com/gerardbm/vim-atomic
colorscheme palette vim
Last synced: 11 months ago
JSON representation
Atomic color scheme for Vim, Neovim and Gvim
- Host: GitHub
- URL: https://github.com/gerardbm/vim-atomic
- Owner: gerardbm
- License: mit
- Created: 2017-05-21T02:26:56.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2025-06-14T15:08:11.000Z (about 1 year ago)
- Last Synced: 2025-06-14T16:23:55.731Z (about 1 year ago)
- Topics: colorscheme, palette, vim
- Language: Vim Script
- Homepage: https://github.com/gerardbm/atomic
- Size: 1.79 MB
- Stars: 16
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Atomic for Vim/Neovim
Vim-atomic is a dark & light color scheme designed to use on vim, gvim and neovim. It consists of 16 colors selected procedurally (algorithms) and it's part of a bigger project: [Atomic](https://github.com/gerardbm/atomic), which also includes themes and color schemes for terminals (URxvt, XTerm) and some terminal programs (tmux, zsh, irssi, cmus).



Atomic has support for 8, 16 and 256 colors, and *True Color* (24 bits) on the last versions of vim, gvim, neovim and nvim-qt. It uses the setting `termguicolors` properly (some color schemes don't).
It also includes 7 modes of color (6 darks and 1 light):
- Space mode is dark with teal hue (260°).
- Onion mode is dark with purple hue (293°).
- Blood mode is dark with red hue (10°).
- Night mode is dark with orange hue (55°).
- Grass mode is dark with green hue (110°).
- Ocean mode is dark with blue hue (222°).
- Light mode is light with orange hue (55°).
Each mode has 3 contrasts:
- High contrast (HC), +3%
- Medium contrast (MC), 0
- Low contrast (LC), -3%
## Installation
#### Manual installation
1. Copy the file `atomic.vim` to your `~/.vim/colors/` directory (for vim) or `~/.config/nvim/colors/` directory (for neovim).
```bash
$ cd vim-atomic
$ cp atomic.vim ~/.vim/colors/
```
#### Using a plugin manager (i.e., [vim-plug](https://github.com/junegunn/vim-plug))
1. Paste this in your `.vimrc` file:
```viml
Plug 'gerardbm/vim-atomic'
```
2. Reload your settings and install it:
```viml
:source $MYVIMRC
:PlugInstall
```
#### Modify your .vimrc
1. Set the colorscheme in your `.vimrc` configuration file:
```viml
syntax enable
colorscheme atomic
```
## Configuration
#### Color support
If your terminal does not support *True color*, you can take a look at the main [Atomic](https://github.com/gerardbm/atomic) repository to see if Atomic colors are available for your terminal and how to install them.
If your terminal supports *True color* (1), you can enable it configuring your `~/.vimrc` file with the setting `set termguicolors` (2) **before** the color scheme definition (`colorscheme atomic`).
---
1. See [https://gist.github.com/XVilka/8346728](https://gist.github.com/XVilka/8346728) for a list of terminals that support *True color*.
2. Sometimes setting `termguicolors` is not enough and one has to set the `t_8f` and `t_8b` options explicitly, also **before** the color scheme definition:
```viml
if has("termguicolors")
let &t_8f = "\[38;2;%lu;%lu;%lum"
let &t_8b = "\[48;2;%lu;%lu;%lum"
set termguicolors
endif
```
Use it when `$TERM` is not `xterm`, for example, running vim into tmux or using a terminal with different `$TERM`, like st case.
More info, see `:h xterm-true-color`.
#### Color palettes
If your terminal have *True color* support or if you are using a GUI (like gvim or nvim-qt), you have the following commands to switch between the different color palettes:
- (1) `AtomicSpaceHC`: sets the space mode (teal hue, dark background) in high contrast (+3%).
- (2) `AtomicSpaceMC`: sets the space mode (teal hue, dark background) in medium contrast (default).
- (3) `AtomicSpaceLC`: sets the space mode (teal hue, dark background) in soft contrast (-3%).
- (4) `AtomicOnionHC`: sets the onion mode (purple hue, dark background) in high contrast (+3%).
- (5) `AtomicOnionMC`: sets the onion mode (purple hue, dark background) in medium contrast (default).
- (6) `AtomicOnionLC`: sets the onion mode (purple hue, dark background) in soft contrast (-3%).
- (7) `AtomicBloodHC`: sets the blood mode (red hue, dark background) in high contrast (+3%).
- (8) `AtomicBloodMC`: sets the blood mode (red hue, dark background) in medium contrast (default).
- (9) `AtomicBloodLC`: sets the blood mode (red hue, dark background) in soft contrast (-3%).
- (10) `AtomicNightHC`: sets the night mode (orange hue, dark background) in high contrast (+3%).
- (11) `AtomicNightMC`: sets the night mode (orange hue, dark background) in medium contrast (default).
- (12) `AtomicNightLC`: sets the night mode (orange hue, dark background) in soft contrast (-3%).
- (13) `AtomicGrassHC`: sets the grass mode (green hue, dark background) in high contrast (+3%).
- (14) `AtomicGrassMC`: sets the grass mode (green hue, dark background) in medium contrast (default).
- (15) `AtomicGrassLC`: sets the grass mode (green hue, dark background) in soft contrast (-3%).
- (16) `AtomicOceanHC`: sets the ocean mode (blue hue, dark background) in high contrast (+3%).
- (17) `AtomicOceanMC`: sets the ocean mode (blue hue, dark background) in medium contrast (default).
- (18) `AtomicOceanLC`: sets the ocean mode (blue hue, dark background) in soft contrast (-3%).
- (19) `AtomicLightHC`: sets the light mode (orange hue, light background) in high contrast (+3%).
- (20) `AtomicLightMC`: sets the light mode (orange hue, light background) in medium contrast (default).
- (21) `AtomicLightLC`: sets the light mode (orange hue, light background) in soft contrast (-3%).
- (22) `AtomicOldBook`: sets the light mode (orange hue, sepia background) in high contrast (+2%).
Use one of them **after** the color scheme definition in your `~/.vimrc` or `~/.gvimrc`.
Switch them automatically depending on the current time. For example, if you would like to use the AtomicLightHC between 8 am and 8 pm and switch to AtomicNightHC at night, simply paste this in your `~/.vimrc` or `~/.gvimrc`:
```viml
function! AtomicSwitcher()
if (strftime('%H') > 8) && (strftime('%H') < 20)
AtomicLightMC
else
AtomicNightHC
endif
endfunction
```
Alternatively, you can cycle them (from 1 to 22) with a shortcut (for example: Shift+F9). Paste this in your `~/.vimrc` or `~/.gvimrc`:
```viml
nnoremap :call CycleModes():colorscheme atomic
```
#### Emphasis
Some terminals don't handle italics correctly, so in case you need to disable italics set `let g:atomic_italic=0` in your `~/.vimrc`, **before** the color scheme definition.
Full list of options to disable italic text, bold, underline and undercurl:
```viml
let g:atomic_italic = 0
let g:atomic_bold = 0
let g:atomic_underline = 0
let g:atomic_undercurl = 0
```
If this options are not defined, default value is 1 for all of them.
#### MatchParen highlight
By default, Atomic will use an orange color to highlight the background for `MatchParen`. To use the orange color for the foreground instead, use the following option:
```viml
let g:atomic_matchparen = 0
```
As with emphasis cases, add this to your `~/.vimrc`, **before** the color scheme definition.
#### Example configuration
```viml
if has("termguicolors")
let &t_8f = "\[38;2;%lu;%lu;%lum"
let &t_8b = "\[48;2;%lu;%lu;%lum"
set termguicolors
endif
syntax enable
let g:atomic_italic = 0
colorscheme atomic
AtomicNightMC
```