Skip to content

Commit 73403b8

Browse files
author
Guangming Mao
committed
Add neovim support for install.sh
1 parent 8dc66d8 commit 73403b8

File tree

1 file changed

+60
-9
lines changed

1 file changed

+60
-9
lines changed

install.sh

+60-9
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,44 @@ BASEDIR=$(dirname $0)
55
cd $BASEDIR
66
CURRENT_DIR=`pwd`
77

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+
846
lnif() {
947
if [ -e "$1" ]; then
1048
ln -sf "$1" "$2"
@@ -14,21 +52,34 @@ lnif() {
1452

1553
echo "Step1: backing up current vim config"
1654
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
1963

2064
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
2774

2875
echo "Step3: update/install plugins using Vundle"
2976
system_shell=$SHELL
3077
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
3283
export SHELL=$system_shell
3384

3485

0 commit comments

Comments
 (0)