X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=vim%2Finstall.pl;h=16e4a128e9acc28b288dd50c75f873380d3e9a82;hb=6ca411f6d15e07aebb079efa31b1b9ce62c8a7f0;hp=9ea3c090c1622846de6ba09db3c038aca761c85f;hpb=98d89d74764047a2cabea2195da37abdd990a160;p=dotfiles.git diff --git a/vim/install.pl b/vim/install.pl index 9ea3c09..16e4a12 100755 --- a/vim/install.pl +++ b/vim/install.pl @@ -1,27 +1,48 @@ #!/usr/bin/perl -w +# +# +use strict; +use File::Basename; +use Cwd; +use Cwd "abs_path"; -my $vim_git = $ENV{'PWD'}; -my $vim_dir = "$ENV{'HOME'}/.vim"; -my $vim_rc = "$ENV{'HOME'}/.vimrc"; - -## test if vim and vimrc exist -die "~/.vim or ~/.vimrc exists!!, backup them first\n" if -e $vim_dir or -e $vim_rc ; - - -## add new files -print `ln -s $vim_git $vim_dir`; -print `ln -s $vim_dir/vimrc $vim_rc`; - -## 1. git clone package manager Vundle -my $vundle_url = "https://github.com/gmarik/Vundle.vim.git"; -chdir "bundle"; -system "git clone " . $vundle_url; +my $home = $ENV{'HOME'}; +my $vimDir = dirname abs_path(__FILE__); +my $vimrc = $vimDir . "/vimrc"; -## -## then start vim, and run :BundleInstall to install other packagesj -# -# -# 3. install YouCompleteMe -# ./install.py --clang-completer +## test if vim and vimrc exist +die "~/.vim or ~/.vimrc exists!!.Backup them first.\n" if -e "$home/.vimrc" or -e "$home/.vim"; + +### link the files +print `ln -s $vimDir $home/.vim`; +print `ln -s $vimrc $home/.vimrc`; + +if ($? == 0) { + print "Link files Done.\n"; +} else { + die; +} + + +## check Vundle installation +my $vundleDir = $vimDir . "/bundle/Vundle.vim"; + +if (not -e "$vundleDir"){ + die "Vundle directory not exists, abort.\n"; +} elsif (-s "$vundleDir") { + print " clone submodules \n"; + chdir $vundleDir; + ! system "git submodule init" or die $!; + ! system "git submodule update" or die $!; +} else { + print "Vundle exists and not empty.\n"; +} + +print <<'END' +Done. +Please start vim and run :BundleInstall to install the dependencies plugins. +To install YouCompleteMe, go to the folder and run +./install.py --clang-completer. +END