"Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as "vi" with most UNIX systems and with Apple OS X."
This tutorial covers the steps required to compile Vim from source with Python support (i.e. python3.x). If you use ChromeOS or a Linux distribution, it may not necessarily have access to the latest build of the application. To get past this issue, compiling from source provides the best approach. Learn how to build Vim, so understand how to enable example packages needed for plugins based on Python.
This is a really quick guide to configuring Vim
- Check the Vim version
- Remove unnecessary packages
- Install the require packages
- Get the Vim source code
- Build the source code
- Test the generated package
Which version of Vim
In this blog post I am using Vim. In most instances you should not have to update the version of Vim on your host. If you use certain plugins e.g. YouCompleteMe, they will complain if you do not have a current version of Vim.
Build from Source
Building from source is well documented.
Check the Vim version
Get rid of the existing Vim
1sudo apt autoremove vim vim-runtime gvim
Get rid of the deprecated python 2.x
1sudo apt autoremove python2*
Add build packages
NOTE: Expand the code below if you get an error!
1sudo apt install -y git \ 2 libatk1.0-dev \ 3 libcairo2-dev \ 4 libgtk2.0-dev \ 5 liblua5.1-0-dev \ 6 libncurses5-dev \ 7 libperl-dev \ 8 libx11-dev \ 9 libxpm-dev \ 10 libxt-dev \ 11 lua5.1 \ 12 python3-dev \ 13 ruby-dev
Move to the home folder
Get VIM from github
1git clone https://github.com/vim/vim.git
Enter the archive directory
Set the Python configuration e.g.
NOTE: Python Dev comes with a utility to indicate the correct path e.g.
1./configure --with-features=huge \ 2--enable-multibyte \ 3--enable-rubyinterp=yes \ 4--enable-python3interp=yes \ 5--with-python3-command=$PYTHON_VER \ 6--with-python3-config-dir=$(python3-config --configdir) \ 7--enable-perlinterp=yes \ 8--enable-gui=gtk2 \ 9--enable-cscope \ 10--prefix=/usr/local
Compile the source and install
1make && sudo make install
Confirm the Vim configuration and grep on Python3 support (i.e. +Python3)
1vim --version | grep +python3
Add the vim command as an Alias to
Congrats! You have a custom build of Vim.