How to select, switch, and customize the look of your Vim.
Open your vimrc (<leader>ev) and change one line:
let g:dotvim_theme = 'solarized8'Save and reload (:source $MYVIMRC or <leader>sv).
| Theme | Value | Vibe |
|---|---|---|
| Solarized (default) | 'solarized8' |
The classic blue-tinted dark theme. Precision-engineered contrast. |
| Gruvbox | 'gruvbox' |
Warm, retro, earthy tones. Easy on the eyes for long sessions. |
| Catppuccin Mocha | 'catppuccin_mocha' |
Pastel, modern, soft. Popular in the Neovim community. |
| Everforest | 'everforest' |
Soft green, nature-inspired. Low contrast, high comfort. |
| NewProggie | 'newproggie' |
The original theme from this repo. Minimal, dark, no frills. |
The theme system uses a single variable g:dotvim_theme that controls:
- Colorscheme which color palette loads
- Airline theme statusbar automatically matches
- Plugin-specific settings contrast levels, highlight groups, etc.
" In vimrc this is all you need to change:
let g:dotvim_theme = 'solarized8'
" The rest is handled automatically:
" - colorscheme loads
" - airline theme matches
" - transparency applies (if enabled)Terminal transparency is on by default. Your terminal's background (wallpaper, blur, opacity) shows through Vim.
let g:dotvim_transparent = 0let g:dotvim_transparent = 1When transparent, these highlight groups have their background cleared:
Normal,NonText,LineNr,SignColumn,EndOfBuffer,Folded,CursorLineNr
Note: Transparency depends on your terminal emulator supporting it (most modern ones do: Alacritty, Kitty, WezTerm, Windows Terminal, iTerm2).
Some themes support light backgrounds. To switch:
set background=lightWorks well with:
solarized8the iconic solarized light palettegruvboxwarm light varianteverforestsoft green light
Add this line before the colorscheme loads (or just put it near the top of your vimrc).
Switch temporarily in a running session:
:colorscheme gruvbox
:colorscheme solarized8
:colorscheme catppuccin_mocha
:colorscheme everforest
:colorscheme newproggieThis lasts until you close Vim. To make it permanent, update g:dotvim_theme in vimrc.
" Cycle through all available colorschemes
:colorscheme <Tab>Press <Tab> repeatedly to cycle through options. Press <Enter> to apply.
- Install via vim-plug add to the plugins section in vimrc:
Plug 'folke/tokyonight.nvim' " Example: Tokyo Night-
Run
:PlugInstall -
Set it:
let g:dotvim_theme = 'tokyonight'- (Optional) Add airline matching in the theme selection block:
elseif g:dotvim_theme ==# 'tokyonight'
let g:airline_theme = 'tokyonight'| Terminal | Theme | Why |
|---|---|---|
| Alacritty + transparency | solarized8 |
Clean blue tones with wallpaper bleed |
| Kitty (opaque) | gruvbox |
Warm and cozy, no transparency needed |
| Windows Terminal + acrylic | catppuccin_mocha |
Pastels pop against frosted glass |
| tmux + minimal | everforest |
Low contrast, easy on eyes in splits |
| Any terminal, SSH session | newproggie |
Minimal, works in 256-color mode |
Themes look best with a proper Nerd Font (required for devicons):
| Font | Style |
|---|---|
| JetBrains Mono Nerd | Clean, modern, great ligatures |
| FiraCode Nerd | Popular, excellent ligatures |
| Hack Nerd | Classic monospace, no ligatures |
| Iosevka Nerd | Narrow, fits more columns |
| CaskaydiaCove Nerd | Microsoft's Cascadia Code + Nerd glyphs |
Install from: https://www.nerdfonts.com/font-downloads
"A good theme is one you forget is there. It should serve the code, not compete with it."