@@ -5,6 +5,44 @@ BASEDIR=$(dirname $0)
5
5
cd $BASEDIR
6
6
CURRENT_DIR=` pwd`
7
7
8
+ # parse arguments
9
+ function show_help
10
+ {
11
+ echo " install.sh [option]
12
+ --for-vim Install configuration files for vim, default option
13
+ --for-neovim Install configuration files for neovim
14
+ --for-all Install configuration files for vim & neovim
15
+ --help Show help messages
16
+ For example:
17
+ install.sh --for-vim
18
+ install.sh --help"
19
+ }
20
+ FOR_VIM=true
21
+ FOR_NEOVIM=false
22
+ if [ " $1 " != " " ]; then
23
+ case $1 in
24
+ --for-vim)
25
+ FOR_VIM=true
26
+ FOR_NEOVIM=false
27
+ shift
28
+ ;;
29
+ --for-neovim)
30
+ FOR_NEOVIM=true
31
+ FOR_VIM=false
32
+ shift
33
+ ;;
34
+ --for-all)
35
+ FOR_VIM=true
36
+ FOR_NEOVIM=true
37
+ shift
38
+ ;;
39
+ * )
40
+ show_help
41
+ exit
42
+ ;;
43
+ esac
44
+ fi
45
+
8
46
lnif () {
9
47
if [ -e " $1 " ]; then
10
48
ln -sf " $1 " " $2 "
@@ -14,21 +52,34 @@ lnif() {
14
52
15
53
echo " Step1: backing up current vim config"
16
54
today=` date +%Y%m%d`
17
- for i in $HOME /.vim $HOME /.vimrc $HOME /.gvimrc $HOME /.vimrc.bundles $HOME /.config/nvim $HOME /.config/nvim/init.vim; do [ -e $i ] && [ ! -L $i ] && mv $i $i .$today ; done
18
- for i in $HOME /.vim $HOME /.vimrc $HOME /.gvimrc $HOME /.vimrc.bundles $HOME /.config/nvim/init.vim $HOME /.config/nvim; do [ -L $i ] && unlink $i ; done
55
+ if $FOR_VIM ; then
56
+ for i in $HOME /.vim $HOME /.vimrc $HOME /.gvimrc $HOME /.vimrc.bundles; do [ -e $i ] && [ ! -L $i ] && mv $i $i .$today ; done
57
+ for i in $HOME /.vim $HOME /.vimrc $HOME /.gvimrc $HOME /.vimrc.bundles; do [ -L $i ] && unlink $i ; done
58
+ fi
59
+ if $FOR_NEOVIM ; then
60
+ for i in $HOME /.config/nvim $HOME /.config/nvim/init.vim; do [ -e $i ] && [ ! -L $i ] && mv $i $i .$today ; done
61
+ for i in $HOME /.config/nvim/init.vim $HOME /.config/nvim; do [ -L $i ] && unlink $i ; done
62
+ fi
19
63
20
64
echo " Step2: setting up symlinks"
21
- lnif $CURRENT_DIR /vimrc $HOME /.vimrc
22
- lnif $CURRENT_DIR /vimrc.bundles $HOME /.vimrc.bundles
23
- lnif " $CURRENT_DIR /" " $HOME /.vim"
24
- # For neovim
25
- lnif " $CURRENT_DIR /" " $HOME /.config/nvim"
26
- lnif $CURRENT_DIR /vimrc $CURRENT_DIR /init.vim
65
+ if $FOR_VIM ; then
66
+ lnif $CURRENT_DIR /vimrc $HOME /.vimrc
67
+ lnif $CURRENT_DIR /vimrc.bundles $HOME /.vimrc.bundles
68
+ lnif " $CURRENT_DIR /" " $HOME /.vim"
69
+ fi
70
+ if $FOR_NEOVIM ; then
71
+ lnif " $CURRENT_DIR /" " $HOME /.config/nvim"
72
+ lnif $CURRENT_DIR /vimrc $CURRENT_DIR /init.vim
73
+ fi
27
74
28
75
echo " Step3: update/install plugins using Vundle"
29
76
system_shell=$SHELL
30
77
export SHELL=" /bin/sh"
31
- vim -u $HOME /.vimrc.bundles +PlugInstall! +PlugClean! +qall
78
+ if $FOR_VIM ; then
79
+ vim -u $HOME /.vimrc.bundles +PlugInstall! +PlugClean! +qall
80
+ else
81
+ nvim -u $HOME /.vimrc.bundles +PlugInstall! +PlugClean! +qall
82
+ fi
32
83
export SHELL=$system_shell
33
84
34
85
0 commit comments