-
-
Save erickpatrick/5e0923d3645eaf4056b6b9fee4c91e2f to your computer and use it in GitHub Desktop.
# remove current vim | |
sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-gui-common | |
# removes current link for vim | |
sudo rm -rf /usr/local/share/vim /usr/bin/vim | |
# add ppa for newest version of ruby (currently, as of 06/06/2017, ruby v2.4) | |
sudo apt-add-repository ppa:brightbox/ruby-ng | |
sudo apt-get update | |
# installs everything needed to make/configure/build Vim | |
sudo apt-get -y install liblua5.1-dev luajit libluajit-5.1 python-dev python3-dev ruby-dev ruby2.5 ruby2.5-dev libperl-dev libncurses5-dev libatk1.0-dev libx11-dev libxpm-dev libxt-dev | |
#Optional: so vim can be uninstalled again via `dpkg -r vim` | |
sudo apt-get -y install checkinstall | |
# clones vim repository so we can build it from scratch | |
cd ~ | |
git clone https://github.com/vim/vim | |
cd vim | |
git pull && git fetch | |
# In case Vim was already installed. This can throw an error if not installed, | |
# it's the nromal behaviour. That's no need to worry about it | |
cd src | |
make distclean | |
cd .. | |
# update to use the correct python 2.7/3.x config path also change 'YOUR NAME' to | |
# your real name | |
./configure \ | |
--enable-multibyte \ | |
--enable-perlinterp=dynamic \ | |
--enable-rubyinterp=dynamic \ | |
--with-ruby-command=/usr/bin/ruby \ | |
--enable-pythoninterp=dynamic \ | |
--with-python-config-dir=/usr/bin/python \ # or path to python3 | |
--enable-python3interp \ | |
--with-python3-config-dir=/usr/bin/python3 \ # or path to python3 | |
--enable-luainterp \ | |
--with-luajit \ | |
--enable-cscope \ | |
--enable-gui=auto \ | |
--with-features=huge \ | |
--with-x \ | |
--enable-fontset \ | |
--enable-largefile \ | |
--disable-netbeans \ | |
--with-compiledby="ERICK ROCHA <[email protected]>" \ | |
--enable-fail-if-missing | |
# this this is the compilation step. It should also create the symlink of the binary | |
# one /usr/bin folder | |
make && sudo make install | |
# To be able to access the new vim instaltion we need to refresh bash/zsh/fish | |
exec bash # or exec zsh or exec fish |
The line below does not make sense to me. The git pull
command is the combination of a git fetch
and git merge
command, so, it should be enough, not needing the git fetch
command after it.
git pull && git fetch
Am I missing something?
I have made some modifications in order to have this working for me on Ubuntu 18.04 (I am using python 3.7), here my settings:
./configure --prefix=/usr/local \ --enable-multibyte \ --enable-perlinterp=dynamic \ --enable-rubyinterp=dynamic \ --with-ruby-command=/usr/bin/ruby \ --enable-python3interp=yes \ --with-python-config-dir=/usr/lib/python3.7/distutils \ --enable-luainterp \ --with-luajit \ --enable-cscope \ --enable-gui=auto \ --with-features=huge \ --with-x \ --enable-fontset \ --enable-largefile \ --disable-netbeans \ --with-compiledby="Name <email>" \ --enable-fail-if-missing
Beware when choosing python or python3, don't remove the backslash
\
otherwise you will not get Lua support and the rest of the configuration flags