update install

This commit is contained in:
chxuan 2017-10-29 21:06:58 +08:00
parent 0ec7ca39ff
commit f30d58b4f7

View File

@ -1,89 +1,254 @@
#!/bin/bash
if which apt-get > /dev/null
then
sudo apt-get install -y ctags build-essential cmake python-dev python3-dev fontconfig git
var=$(sudo cat /etc/lsb-release | grep "DISTRIB_RELEASE")
system_version='DISTRIB_RELEASE=16.04'
if [ $var == $system_version ]
then
sudo apt-get install -y libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby-dev lua5.1 lua5.1-dev
sudo apt-get remove -y vim vim-runtime gvim
sudo apt-get remove -y vim-tiny vim-common vim-gui-common vim-nox
# 获取平台类型mac还是linux平台
function get_platform_type()
{
echo $(uname)
}
sudo rm -rf ~/vim
sudo rm -rf /usr/share/vim/vim74
sudo rm -rf /usr/share/vim/vim80
git clone https://github.com/vim/vim.git ~/vim
cd ~/vim
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-pythoninterp \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-perlinterp \
--enable-luainterp \
--enable-gui=gtk2 --enable-cscope --prefix=/usr
make VIMRUNTIMEDIR=/usr/share/vim/vim80
sudo make install
cd -
# 获取linux平台类型ubuntu还是centos
function get_linux_platform_type()
{
if which apt-get > /dev/null ; then
echo "ubuntu" # debian ubuntu系列
elif which yum > /dev/null ; then
echo "centos" # centos redhat系列
else
echo "invaild"
fi
}
# 判断是否是ubuntu16.04LTS版本
function is_ubuntu1604()
{
version=$(cat /etc/lsb-release | grep "DISTRIB_RELEASE")
if [ ${version} == "DISTRIB_RELEASE=16.04" ]; then
echo 1
else
echo 0
fi
}
# 源代码安装vim
function compile_vim()
{
sudo apt-get install -y libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby-dev lua5.1 lua5.1-dev
sudo apt-get remove -y vim vim-runtime gvim
sudo apt-get remove -y vim-tiny vim-common vim-gui-common vim-nox
sudo rm -rf ~/vim
sudo rm -rf /usr/share/vim/vim74
sudo rm -rf /usr/share/vim/vim80
git clone https://github.com/vim/vim.git ~/vim
cd ~/vim
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-pythoninterp \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-perlinterp \
--enable-luainterp \
--enable-gui=gtk2 --enable-cscope --prefix=/usr
make VIMRUNTIMEDIR=/usr/share/vim/vim80
sudo make install
cd -
}
# 安装mac平台必要软件
function install_prepare_software_on_mac()
{
brew install vim gcc cmake ctags-exuberant
}
# 安装centos发行版必要软件
function install_prepare_software_on_centos()
{
sudo yum install -y vim ctags automake gcc gcc-c++ kernel-devel cmake python-devel python3-devel
}
# 安装ubuntu发行版必要软件
function install_prepare_software_on_ubuntu()
{
sudo apt-get install -y ctags build-essential cmake python-dev python3-dev fontconfig
ubuntu_1604=`is_ubuntu1604`
echo ${ubuntu_1604}
if [ ${ubuntu_1604} == 1 ]; then
echo "ubuntu 16.04 LTS"
compile_vim
else
echo "not ubuntu 16.04 LTS"
sudo apt-get install -y vim
fi
elif which yum > /dev/null
then
sudo yum install -y vim ctags automake gcc gcc-c++ kernel-devel cmake python-devel python3-devel git
fi
}
sudo rm -rf ~/.vimrc
sudo rm -rf ~/.ycm_extra_conf.py
# 拷贝文件
function copy_files()
{
rm -rf ~/.vimrc
cp .vimrc ~
cp .vimrc ~
cp .ycm_extra_conf.py ~
rm -rf ~/.ycm_extra_conf.py
cp .ycm_extra_conf.py ~
mkdir ~/.vim
sudo rm -rf ~/.vim/plugin
sudo rm -rf ~/.vim/colors
cp -R ./plugin ~/.vim
cp -R ./colors ~/.vim
mkdir ~/.vim
rm -rf ~/.vim/plugin
cp -R ./plugin ~/.vim
mkdir ~/.fonts
sudo rm -rf ~/.fonts/PowerlineSymbols.otf
sudo rm -rf ~/.fonts/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf
cp ./fonts/PowerlineSymbols.otf ~/.fonts
cp ./fonts/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf ~/.fonts
fc-cache -vf ~/.fonts
rm -rf ~/.vim/colors
cp -R ./colors ~/.vim
}
mkdir -p ~/.config/fontconfig/conf.d
sudo rm -rf ~/.config/fontconfig/conf.d/10-powerline-symbols.conf
cp ./fonts/10-powerline-symbols.conf ~/.config/fontconfig/conf.d
# 安装mac平台字体
function install_fonts_on_mac()
{
rm -rf ~/Library/Fonts/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf
cp ./fonts/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf ~/Library/Fonts
}
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
# 安装linux平台字体
function install_fonts_on_linux()
{
mkdir ~/.fonts
vim -c "PluginInstall" -c "q" -c "q"
rm -rf ~/.fonts/PowerlineSymbols.otf
cp ./fonts/PowerlineSymbols.otf ~/.fonts
cd ~/.vim/bundle/YouCompleteMe
sudo ./install.py --clang-completer
rm -rf ~/.fonts/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf
cp ./fonts/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf ~/.fonts
fc-cache -vf ~/.fonts
mkdir -p ~/.config/fontconfig/conf.d
rm -rf ~/.config/fontconfig/conf.d/10-powerline-symbols.conf
cp ./fonts/10-powerline-symbols.conf ~/.config/fontconfig/conf.d
}
# 克隆插件管理软件Vundle
function clone_vundle()
{
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
}
# 安装vim插件
function install_vim_plugin()
{
vim -c "PluginInstall" -c "q" -c "q"
}
# 在mac平台编译ycm插件
function compile_ycm_on_mac()
{
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
}
# 在linux平台编译ycm插件
function compile_ycm_on_linux()
{
cd ~/.vim/bundle/YouCompleteMe
sudo ./install.py --clang-completer
}
# 打印logo
function print_logo()
{
color="$(tput setaf 6)"
normal="$(tput sgr0)"
printf "${color}"
echo ' __ __ '
echo '__ __/_/___ ___ ____ / /_ _______ '
echo '\ \ / / / __ `__ \/ __ \/ / / / / ___/ '
echo ' \ V / / / / / / / /_/ / / /_/ (__ ) '
echo ' \_/_/_/ /_/ /_/ ,___/_/\____/____/ '
echo ' /_/ ...is now installed!'
echo ''
echo ''
echo 'Just enjoy it!'
echo 'p.s. Follow me at https://github.com/chxuan.'
echo ''
printf "${normal}"
}
# 改变.vim文件属租和用户
function chown_vim_dir()
{
who_is=$(who)
current_user=${who_is%% *}
sudo chown -R ${current_user}:${current_user} ~/.vim
}
# 在mac平台安装vimplus
function install_vimplus_on_mac()
{
install_prepare_software_on_mac
copy_files
install_fonts_on_mac
clone_vundle
install_vim_plugin
compile_ycm_on_mac
print_logo
}
function begin_install_vimplus()
{
copy_files
install_fonts_on_linux
clone_vundle
install_vim_plugin
compile_ycm_on_linux
chown_vim_dir
print_logo
}
# 在ubuntu发行版安装vimplus
function install_vimplus_on_ubuntu()
{
install_prepare_software_on_ubuntu
begin_install_vimplus
}
# 在centos发行版安装vimplus
function install_vimplus_on_centos()
{
install_prepare_software_on_centos
begin_install_vimplus
}
# 在linux平台安装vimplus
function install_vimplus_on_linux()
{
type=`get_linux_platform_type`
echo "linux platform type: "${type}
if [ ${type} == "ubuntu" ]; then
install_vimplus_on_ubuntu
elif [ ${type} == "centos" ]; then
install_vimplus_on_centos
else
echo "not support this linux platform type: "${type}
fi
}
# main函数
function main()
{
type=`get_platform_type`
echo "platform type: "${type}
if [ ${type} == "Darwin" ]; then
install_vimplus_on_mac
elif [ ${type} == "Linux" ]; then
install_vimplus_on_linux
else
echo "not support platform type: "${type}
fi
}
# 调用main函数
main
cd ~
who_is=$(who)
current_user=${who_is%% *}
sudo chown -R ${current_user}:${current_user} ~/.vim
color="$(tput setaf 6)"
normal="$(tput sgr0)"
printf "${color}"
echo ' __ __ '
echo '__ __/_/___ ___ ____ / /_ _______ '
echo '\ \ / / / __ `__ \/ __ \/ / / / / ___/ '
echo ' \ V / / / / / / / /_/ / / /_/ (__ ) '
echo ' \_/_/_/ /_/ /_/ ,___/_/\____/____/ '
echo ' /_/ ...is now installed!'
echo ''
echo ''
echo 'Just enjoy it!'
echo 'p.s. Follow me at https://github.com/chxuan.'
echo ''
printf "${normal}"