prism.vim
prism.vim copied to clipboard
Set different but certain colorschemes for different working directories (mostly)
prism.vim
prism.vim
sets colorscheme based on your working directory. This helps you
distinguish among multiple instances in the window previewer. It's similar to
Peacock
for VSCode.
prism.vim
chooses a colorscheme from provided colorscheme list
, the choice is determined by a number, which is calculated based on the current working directory.
Screenshots
Installation
With vim-plug or your favorite plugin manager, like
Plug 'UncleBill/prism.vim'
Requires Vim 8.0+
for full support.
Usage
Setting colorscheme space
Prism.vim
will pick one from colorschemes below to set up.
" defaults to ['peachpuff', 'desert', 'evening', 'murphy']
" some of below are from https://github.com/flazz/vim-colorschemes
let g:prism_colorschemes = ['atom', 'desert', 'solarized', 'badwolf', 'lightyellow',
\ 'dracula', 'peachpuff', 'pablo', 'SlateDark', 'torte', 'blink', 'blueprint',
\ 'Benokai', 'greens', 'grayorange', 'graywh']
You can get a collection of colorschemes at flazz/vim-colorschemes
Shifting
Tired of one fixed colorscheme? You can make it shift to another every X days automatically:
let g:prism_shift_period = 0 " disable shifting, default value
let g:prism_shift_period = 30 " every 30 days, days since 1979-1-1,
Reset at runtime
You can use the PrismSet
command to reset colorscheme at runtime. prism.vim
will record
your chosen colorscheme (in g:prism_config_file
, defaults to ~/.prism.vim.json
),
and will use this colorscheme for the working director in the future.
" use current colorscheme
:PrismSet<enter>
" select from installed colorschemes
:PrismSet <tab>
cd/lcd
prism.vim
listens to the DirChanged
event, there are four options that can
be attached to:
"window" to trigger on `:lcd` "global" to trigger on `:cd` "auto" to trigger on 'autochdir'. "drop" to trigger on editing a file
See :h DirChanged
let g:prism_dir_changed_pattern = ['window', 'global']
Also see :h DirChanged
for the patterns your Vim supports.
Tabs
Enable prism.vim
on switching tabs by:
" defaults to 0, disabled
let g:prism_count_tab = 1
Then prism.vim
adds tab index to count the value for picking colorscheme, and
listens to TabEnter
. Now switching tabs will change the colorscheme.
License
MIT License. Copyright (c) UncleBill