What files do I need to create? What should be inside these files? Is there a default colorscheme file somewhere that I can use and change color values accordingly?
How can I create my own colorscheme?
colorscheme
Colorscheme locationsFirst, Vim looks in its runtime folders for a colors directory. Here is where all the colorschemes should be stored (:help 'runtimepath')This means you will need one file that lives in the ~/.vim/colors folder. Default colorschemes are located in $VIMRUNTIME/colors, where $VIMRUNTIME is usually /usr/share/vim/vim74 or the /usr/local/share/vim/vim74 directories, depending on how Vim is installed (substitute vim74 for vim73 for Vim version 7.3)Now to get to the fun part.Creating a colorschemeTo get started with creating your own colorscheme, I highly suggest taking a look at the default colorschemes and experiment with modifying them.So copy the default colorscheme from $VIMRUNTIME/colors folder to your ~/.vim/colors folder. Name it something that distinguishes itself from the default colorscheme name. So if you copied the desert colorscheme that comes with Vim by default, name the file as default_mod.vim or something to that effect. Open up the colorscheme file and change the let g:colors_name to also distinguish itself from the default colorscheme file. By convention, this should be the same as the colorscheme file name.In the colorscheme, all you have to do is give the colors for ctermbg, ctermfg, guibg, guifg (for terminal background, terminal foreground, gui background, gui foreground colors respectively) for the different built in highlight groups. To check out the list of highlight groups you can modify, check out :help highlight-default. Optionally, you can also use the cterm and gui attributes to specify that you want a highlight group to be bold or italic. For example, this will set a green color for a String:highlight String ctermbg=NONE ctermfg=107 guibg=NONE guifg=#95B47BYou can also use highlight links to link a highlight group to another group. This is useful if you want two highlight groups to be the same colors.For instance, you could link the diffAdded highlight group to the String highlight group defined above:highlight link diffAdded String