Skip to content

Instantly share code, notes, and snippets.

@moonstruck
Created July 21, 2014 09:59
Show Gist options
  • Select an option

  • Save moonstruck/95b1360effd80c89f8c1 to your computer and use it in GitHub Desktop.

Select an option

Save moonstruck/95b1360effd80c89f8c1 to your computer and use it in GitHub Desktop.

Compiling from Source

Build dependencies for vim:

sudo apt-get -y build-dep vim

Install necessary packages for building vim:

sudo apt-get -y install checkinstall mercurial python-dev python3.3-dev

Remove existing vim packages:

sudo apt-get remove vim vim-runtime gvim vim-tiny vim-common vim-gui-common

Clone latest vim source:

sudo hg clone https://vim.googlecode.com/hg/ /usr/local/src/vim

Configure make to build vim with support for python 2 an 3.3.5:

pushd /usr/local/src/vim
sudo ./configure \
    --prefix=/usr/local \
    --enable-gui=no \
    --with-features=huge \
    --with-x \
    --enable-cscope \
    --enable-perlinterp \
    --enable-luainterp \
    --enable-rubyinterp \
    --enable-pythoninterp \
    --with-python-config-dir=$(python2.7-config --configdir) \
    --with-compiledby="Nathan Farrar <[email protected]"


## python3 support (not currently working)
--with-python3-config-dir=$(python3.3-config --configdir) \
--with-compiledby="Nathan Farrar <[email protected]"

# with gui support
--enable-gui=auto \
--enable-gtk2-check \
--enable-gnome-check \

Compile && install:

sudo make VIMRUNTIMEDIR=/usr/share/vim/vim74
sudo checkinstall

Set as default editor:

sudo update-alternatives --install "/usr/bin/vim" "vim" "/usr/local/bin/vim" 1
sudo update-alternatives --install "/usr/bin/vim" "vim" "/usr/local/bin/vim" 1
sudo update-alternatives --install "/usr/bin/vi" "vi" "/usr/local/bin/vim" 1

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim 1
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vim

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment