mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Initial Home page
commit
d0ced281b8
106
Nvim-setup-in-Linux.md
Normal file
106
Nvim-setup-in-Linux.md
Normal file
@ -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
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user