Vim color schemes are a useful feature of this popular text editor. Not only do they allow for practical syntax highlighting, but they also give users a chance to personalize the interface.
As a Vim user, you can change color schemes that come with the software package or install user-made color schemes. Also, the software allows you to configure the colors of individual elements manually.
In this tutorial, learn how to use and set Vim color schemes.
- Vim text editor
- Access to terminal window / command line
Note: In case you don’t have this text editor on your system, you may need instructions on how to install Vim on Ubuntu or how to install Vim on CentOS.
View Vim Color Schemes Installed
There are a number of different Vim color schemes locally available.
Upon installation, the text editor uses a default scheme, which may vary depending on whether you are using a light or dark terminal. The default Vim color scheme in a light terminal is
peachpuff. If you use a dark terminal, the initial color scheme is
To see a list of ready-to-use themes, open any document using the Vim editor and use the following instruction:
:colorscheme [space] [Ctrl+d]
The output shows a list of Vim color schemes, which you can also see in the image below.
How to Change Vim Color Scheme
After prompting Vim to display a list of color schemes, you can experiment and change the design until you find one you like best.
To change Vim color scheme use the following command:
You can even use an abbreviation of the instruction and type:
For instance, to switch to the color scheme blue, you would use:
Here are just some examples of how the color schemes differ:
Download Vim Color Schemes
There is a wide variety of user-made color schemes that may suit your needs better than the locally given options. You can find and download them from GitHub or websites such as vim color schemes.
Add a new theme to your repository by downloading it from a remote source. Once you install a new color scheme on your local machine, make sure to move it to the /vim/colors directory.
If you do not have such a directory, create one with the command:
Now move the new scheme into it:
mv ~/Downloads/[vim_colorscheme] ~/.vim/colors
Set Vim Color Settings Manually
If none of the schemes satisfy your aesthetic, you can configure the color settings manually.
It’s a good idea to test out the color setting features before you commit the changes. You can do this using the vim text editor within an existing file.
The syntax is:
:highlight [Group] [key=value]
Note: You can substitute highlight with hi for short.
highlight is the instruction, the
[Group] element is the item(s), which should be affected by the
There are numerous groups you can define in the previously mentioned command. Some of them include:
- Normal (normal text)
- NonText (characters that don’t exist in the text)
- Cursor (the character under the cursor)
- ErrorMsg (error messages)
These are just some out of the many Vim highlight groups. To see an extensive list of all the groups, refer to Vim’s official documentation.
Vim Highlight Keys
key=value element varies depending on whether you use a GUI or work in a terminal window.
For example, if you are working inside a terminal that has color support, you could include any of the following highlight keys:
ctermfg(for setting the foreground)
ctermbg(for setting the background)
cterm(for additional properties)
Users who prefer the GUI need to use the highlight keys:
guifg(for setting the foreground)
guibg(for setting the background)
gui(for additional properties)
When specifying the values for
guibg, you can use standard color names, their prescribed numbers or hex values (only in the GUI).
gui are not used with color values. Instead, the values you use for these highlight keys include: bold, italic, underline, reverse, and none.
Using the Vim highlight Command
The best way to show how the
highlight command works, is with a simple example.
Take a look at this file and its initial color scheme when opened with the Vim text editor:
Now, let’s set all
Normal text to be red (foreground) and the background color to black. To do this we need to type the following:
:hi Normal ctermfg=Red ctermbg=Black
Press Enter and the colors should automatically change as in the image below.
How to Set Default Vim Color Scheme
Changes you have made to the color settings are not permanent. Once you close Vim, the color scheme returns to the default settings.
To make the changes permanent, modify Vim’s configuration file with the wanted color settings.
First, you need to open the Vim startup file, located in
users home directory under the name
Here, you can set the default color scheme by modifying the
colorscheme line and setting the theme you prefer.
To enable the syntax highlight feature you also need to include the following line:
When manually configuring syntax highlighting, you can add individual instructions with the
highlight command. Just add the lines to the existing configuration file, following the standard highlight syntax.
After reading this article, you should have some basic knowledge of Vim color schemes. You should also know how to change the color settings and find the best solution for you.
Don’t be afraid to experiment with the color configuration.