Skip to content
Snippets Groups Projects
nvimSetup.sh 3 KiB
Newer Older
  • Learn to ignore specific revisions
  • Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
    #! /bin/bash
    
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
    # manual installation: 
    #
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
    # colorscheme
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
    # -> https://github.com/morhetz/gruvbox/blob/master/colors/gruvbox.vim
    # -> https://www.youtube.com/watch?v=Ow03haHO1NE
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
    
    # Plugins
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
    # -> https://www.youtube.com/watch?v=QB9V__3VO2s
    # -> https://web.archive.org/web/20210106062619/https://www.chrisatmachine.com/Neovim/01-vim-plug/
    
    helpme()
    {
        echo "usage: nvimSetup [options]"
        echo ""
    
        echo -e "  -r \t removes current nvim config directory"
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
    }
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
    
    #Implement flags in the future here
    for flag in "$@"
    do
        case $flag
            in
            -r)
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
                rm -rf ~/.config/nvim;;
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
            --help)
                helpme
                exit 0;;
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
            *)
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
                echo "unknown command $flag"
                exit 1;;
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
        esac
    done
    
    
    if [ ! -x "$(command -v nvim)" ]
    then
        echo "nvim is not installed"
        echo "installing nvim"
        sudo apt install nvim -y
    else
        echo "nvim is installed"
    fi
    
    if [ -x ~/.config/nvim/ ]
    then
        echo "directory exists"
        if [ -x ~/.config/nvim/init.vim ]
        then
            echo "nvim init file exists"
        else
            echo "nvim init file missing"
            echo "creating nvim init file"
            touch ~/.config/nvim/init.vim
        fi
    else
        echo "nvim directory missing"
        echo "creaing nvim directory and init file"
        mkdir ~/.config/nvim
        touch ~/.config/nvim/init.vim
        
    fi
    
    
    
    #fetching vim plug
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
    curl -sfLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
    
    #fetching gruvbox
    
    Aljoscha Malek Esfahani's avatar
    Aljoscha Malek Esfahani committed
    curl -sfLo ~/.config/nvim/themes/gruvbox.vim --create-dirs https://raw.githubusercontent.com/morhetz/gruvbox/master/autoload/gruvbox.vim
    
    Aljoscha Malek Esfahani's avatar
    1.0
    Aljoscha Malek Esfahani committed
    
    ##########################Setting up plugins.vim#########################
    mkdir ~/.config/nvim/vim-plug
    touch ~/.config/nvim/vim-plug/plugins.vim
    
    cd ~/.config/nvim/vim-plug
    
    echo "call plug#begin('~/.config/nvim/autoload/plugged')"  >> plugins.vim
    echo -e "\tPlug 'sheerun/vim-polyglot'"                    >> plugins.vim
    echo -e "\tPlug 'scrooloose/NERDTree'"                     >> plugins.vim
    echo -e "\tPlug 'jiangmiao/auto-pairs'"                    >> plugins.vim
    echo -e "\tPlug 'morhetz/gruvbox'"                         >> plugins.vim
    echo "call plug#end()"                                     >> plugins.vim
    #########################################################################
    
    
    cd ..
    
    
    #####################Setting up init.vim##########################
    echo "syntax enable"                                      >> init.vim
    echo -e "source \$HOME/.config/nvim/vim-plug/plugins.vim" >> init.vim
    #echo -e "source \$HOME/.config/nvim/plug-config/coc.vim"  >> init.vim
    echo -e "source \$HOME/.config/nvim/themes/gruvbox.vim"   >> init.vim
    echo "set number"                                         >> init.vim
    echo "set rnu"                                            >> init.vim
    echo "colorscheme gruvbox"                                >> init.vim
    echo "nmap <C-f> :NERDTreeToggle<CR>"                     >> init.vim
    #####################################################################
    
    nvim -c "PlugInstall" -c "q!" -c "q!"