commit d0ced281b8c9e4d5f9d31266c32e0c0ffaebda00 Author: jdhao Date: Wed Oct 9 14:47:37 2019 +0800 Initial Home page diff --git a/Nvim-setup-in-Linux.md b/Nvim-setup-in-Linux.md new file mode 100644 index 0000000..9f68dfb --- /dev/null +++ b/Nvim-setup-in-Linux.md @@ -0,0 +1,106 @@ +To set up a workable Neovim environment in Linux, I use the following script install necessary dependencies and Neovim itself: + +``` +#!/bin/bash +####################################################################### +# Anaconda or miniconda install # +####################################################################### + +INSTALL_ANACONDA=false +if [[ "$INSTALL_ANACONDA" == true ]]; then + CONDA_DIR=$HOME/tools/anaconda + CONDA_NAME=anaconda.sh + CONDA_LINK="https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh" +else + CONDA_DIR=$HOME/tools/miniconda + CONDA_NAME=miniconda.sh + CONDA_LINK="https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh" +fi + +echo "Downloading and installing conda" + +if [ ! -f "$HOME/packages/$CONDA_NAME" ]; then + curl -Lo "$HOME/packages/$CONDA_NAME" $CONDA_LINK +fi + +# Install conda silently +if [ -d $CONDA_DIR ]; then + rm -rf $CONDA_DIR +fi + +bash $HOME/packages/$CONDA_NAME -b -p $CONDA_DIR +export PATH="$CONDA_DIR/bin:$PATH" + +# Install some Python packages +echo "Install pynvim, pylint flake8, jedi" +pip install pynvim pylint jedi flake8 + + +####################################################################### +# Ripgrep part # +####################################################################### + +echo "Install ripgrep" +RIPGREP_DIR=$HOME/tools/ripgrep +RIPGREP_SRC_NAME=$HOME/packages/ripgrep.tar.gz +RIPGREP_LINK="https://github.com/BurntSushi/ripgrep/releases/download/11.0.0/ripgrep-11.0.0-x86_64-unknown-linux-musl.tar.gz" + +echo "Downloading ripgrep and renaming" +if [ ! -f $RIPGREP_SRC_NAME ]; then + wget $RIPGREP_LINK -O $RIPGREP_SRC_NAME +fi + +echo "Creating ripgrep directory under tools directory" +if [ ! -d "$RIPGREP_DIR" ]; then + mkdir -p "$RIPGREP_DIR" +fi + +echo "Extracting to $HOME/tools/ripgrep directory" +tar zxvf $RIPGREP_SRC_NAME -C $RIPGREP_DIR --strip-components 1 + + +####################################################################### +# Ctags install # +####################################################################### + +echo "Install ctags" +CTAGS_SRC_DIR=$HOME/packages/ctags +CTAGS_DIR=$HOME/tools/ctags +CTAGS_LINK="https://github.com/universal-ctags/ctags.git" + +if [ ! -d $CTAGS_SRC_DIR ]; then + mkdir -p $CTAGS_SRC_DIR +fi + +cd $CTAGS_SRC_DIR +git clone $CTAGS_LINK . +./autogen.sh && ./configure --prefix=$CTAGS_DIR +make -j$(nproc) && make install + + +####################################################################### +# Nvim install # +####################################################################### + +echo "Installing Neovim" +echo "Creating nvim directory under tools directory" +NVIM_DIR=$HOME/tools/nvim +NVIM_SRC_NAME=$HOME/packages/nvim-linux64.tar.gz +NVIM_CONFIG_DIR=$HOME/.config/nvim +NVIM_LINK="https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz" + +if [ ! -d "$NVIM_DIR" ]; then + mkdir -p "$NVIM_DIR" +fi + +echo "Downloading Neovim" +if [ ! -f $NVIM_SRC_NAME ]; then + wget $NVIM_LINK -O $NVIM_SRC_NAME +fi + +echo "Extracting neovim" +tar zxvf $NVIM_SRC_NAME --strip-components 1 -C $NVIM_DIR + +git clone https://github.com/jdhao/nvim-config.git $NVIM_CONFIG_DIR \ + && $NVIM_DIR/bin/nvim +PlugInstall +qall +``` \ No newline at end of file