A vimrc file allows Vim to start with some additional features loaded. There are many, many options to customise Vim's appearance, such as in this vimrc file. However, only a few lines are needed in a vimrc file in order to make a huge difference. This post contains a minimal vimrc file, along with an explanation of the commands.
Here is the minimal vimrc file in a txt file: vimmin.txt
Creating a vimrc file
Whether you are working on your personal laptop, or as a user on a server, your vimrc file will be located in the same place:
~/.vimrc. Check what is in this file (it may be empty) by opening it in Vim. In a command line,
. before the
vimrc. There is no file extension.
Contents of a minimal vimrc file
Copy/paste the following into
syn on set number set tabstop=4 expandtab shiftwidth=4 smarttab set autoindent cindent colo pablo
Or download using:
#save current location
mkdir -p ~/build/vim
if [ -f "~/.vimrc" ]; then cp ~/.vimrc ./bak_vimrc.txt; fi
cp ./vimmin.txt ~/.vimrc
The commands explained
Probably the most useful command,
syn on turns on syntax highlighting. So, keywords in different programming language scripts (
.cpp for C++,
.R for R,
.py for Python, etc) will appear in different colours, making the code more readable. Exactly what these colours are (the colour theme) will be set by the
colo command later.
This command makes line numbers appear on the left-hand side of the vim screen. This is useful, because the command (in Normal normal):
will move the cursor to line 25, for example.
set tabstop=4 expandtab shiftwidth=4 smarttab
The most difficult command to remember, this is actually four separate commands that affect the tabbing behaviour. Check out this page in the Vim wiki for more information.
set autoindent cindent
These two commands enable automatic indenting in different programming language scripts (
.cpp for C++,
.R for R,
.py for Python, etc). Check out this page in the Vim wiki (scroll down a bit to 'Methods for automatic indentation') for more information.
It is also possible to add
smartindent to the line, but this can lead to annoying behaviour in R scripts. In fact, when comments are made in R using
#, this forces the comment to be left aligned. This can also be annoying, but is fixed in this vimrc file.
This line sets the colorscheme, and is the most personal choice. In order to see the different colorschemes available, open a file in Vim and then type
:colo (SPACE + TAB)
to run through the different colorschemes. Eventually, when you see one that looks interesting, e.g.
Enter to see what how that colorscheme changes the file's appearance. Note that if you leave out the space, and press tab after
:colo, this will complete to
This is fine, because
colo is just shorthand for
colorscheme (but it worthwhile being aware of this). Another colorscheme I like is
murphy, so the line in the vimrc file could also be:
There should be several default colorschemes available with your Vim installation (and will usually be available with most installations), so have a look at them to find a go-to colorscheme you like. However, if you want to use a custom colorscheme, this is possible, but just requires a few minutes more effort. See this post for more information on setting up a custom colorscheme.