Skip to content

Instantly share code, notes, and snippets.

@kena0ki
Last active April 2, 2020 03:19
Show Gist options
  • Save kena0ki/4866842812db7eb3bddd386fe5acc9bc to your computer and use it in GitHub Desktop.
Save kena0ki/4866842812db7eb3bddd386fe5acc9bc to your computer and use it in GitHub Desktop.
install or upgrade vim from source code on Centos 7
#!/bin/bash -eu
#https://www.vim.org/git.php
echo -n "Input work directory (default to home) >> "
read WORKDIR
echo
test -z "$WORKDIR" && WORKDIR=~
test ! -e "$WORKDIR" && mkdir "$WORKDIR"
LOGFILE="$PWD/$WORKDIR"/vim/viminstall.log
sudo yum install -y python python-devel
sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
sudo ln -s `which python3.6` $(dirname $(which python3.6))/python3
#ruby ruby-devel lua lua-devel luajit \
#luajit-devel ctags git \
#tcl-devel \
#perl perl-devel perl-ExtUtils-ParseXS \
#perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
#perl-ExtUtils-Embed
cd "$WORKDIR"
test ! -e vim && git clone https://github.com/vim/vim.git
cd vim
git pull
make distclean # if you build Vim before
./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/lib64/python2.7/config \
--enable-python3interp=yes \
--with-python3-config-dir=/lib64/python3.6/config-3.6m-x86_64-linux-gnu/ \
--enable-perlinterp=yes \
--enable-cscope \
--prefix=/usr/local | tee "$LOGFILE"
echo
echo -n "OK to make? Hit Enter to continue."; read A
make >> "$LOGFILE"
cd src
./vim --version
echo -n "OK to make install? Hit Enter to continue."; read A
VIMPATH=`which vim`
if [ -n $VIMPATH ]; then
BKUPPATH="$VIMPATH"`date +%s`
sudo cp -p "$VIMPATH" "$VIMPATH"`date +%s` # back up current vim
echo "Old vim was backed up to $BKUPPATH."
fi
sudo make install >> "$LOGFILE"
echo
echo "Done!! Log file: $LOGFILE"
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment