Is there a way to get a list of all installed color schemes in Vim? That would make very easy to select one without looking at the .vim
directory.
Try
set wildmenu
set wildmode=list:full
set wildcharm=<C-z>
let mapleader=','
nnoremap <leader>c :colorscheme <C-z><S-Tab>
in your ~/.vimrc
.
The first two lines make possible matches appear as lists. You can use either or both.
The fourth line makes leader ,
instead of the default \
.
The last line allows you to simply type ,c
to get a list and a prompt to change your colorscheme.
The third line effectively allows for Tab
s to appear in key maps.
(Of course, all of these strategies I've learned from the internet, and mostly SO, very recently.)
Here is a small function I wrote to try all the colorschemes in $VIMRUNTIME/colors directory.
Add the below function to your vimrc, then open your source file and call the function from command.
function! DisplayColorSchemes()
let currDir = getcwd()
exec "cd $VIMRUNTIME/colors"
for myCol in split(glob("*"), '\n')
if myCol =~ '\.vim'
let mycol = substitute(myCol, '\.vim', '', '')
exec "colorscheme " . mycol
exec "redraw!"
echo "colorscheme = ". myCol
sleep 2
endif
endfor
exec "cd " . currDir
endfunction
i know i am late for this answer but the correct answer seems to be
See :help getcompletion():
:echo getcompletion('', 'color')
which you can assign to a variable:
:let foo = getcompletion('', 'color')
or use in an expression register:
:put=getcompletion('', 'color')
This is not my answer, this solution is provided by u/romainl in this post on reddit.
Another simpler way is while you are editing a file - tabe ~/.vim/colors/
ENTER
Will open all the themes in a new tab within vim window.
You may come back to the file you were editing using - CTRL + W + W
ENTER
Note: Above will work ONLY IF YOU HAVE a .vim/colors
directory within your home directory for current $USER
(I have 70+ themes)
[user@host ~]$ ls -l ~/.vim/colors | wc -l
72
Type
:colorscheme
then Space followed by TAB.
or as Peter said,
:colorscheme
then Space followed by CTRLd
The short version of the command is :colo
so you can use it in the two previous commands, instead of using the "long form".
If you want to find and preview more themes, there are various websites like Vim colors